(self.webpackChunkmp_webgl = self.webpackChunkmp_webgl || []).push([
  [66],
  {
    94810: (t, e, n) => {
      var o = n(72337);
      (o.Canvas = n(64376)), (o.SVG = n(50060)), (t.exports = o);
    },
    72337: (t, e, n) => {
      var o = n(70858),
        i = n(98470),
        r = n(83211),
        a = n(66716),
        s = n(13424),
        l = n(14652),
        h = n(47261),
        p = n(69819),
        d = (n(81231), n(33925)),
        u = n(56204),
        A = n(8081),
        c = n(18468),
        g = n(29126),
        b = n(36177),
        v = n(59827),
        f = n(57174),
        y = n(91724),
        _ = !1;
      function E(t) {
        if (_) throw new Error("ControlKit is already initialized.");
        ((t = t || {}).history = void 0 !== t.history && t.history),
          (t.loadAndSave = void 0 !== t.loadAndSave && t.loadAndSave),
          (t.opacity = void 0 === t.opacity ? 1 : t.opacity),
          (t.panelsClosable = void 0 !== t.panelsClosable && t.panelsClosable),
          (t.useExternalStyle =
            void 0 !== t.useExternalStyle && t.useExternalStyle),
          (t.enable = void 0 === t.enable || t.enable),
          l.apply(this, arguments);
        var e = null;
        if (
          (t.parentDomElementId
            ? (e = o.getNodeById(t.parentDomElementId))
            : ((e = new o()), document.body.appendChild(e.getElement())),
          !t.useExternalStyle)
        ) {
          var i = document.createElement("style");
          i.type = "text/css";
          var h = t.style ? t.styleString : n(64958).string;
          i.stylesheet
            ? (i.stylesheet.cssText = h)
            : i.appendChild(document.createTextNode(h)),
            (
              document.head || document.getElementsByTagName("head")[0]
            ).appendChild(i);
        }
        e.setProperty("id", s.ControlKit),
          (this._node = e),
          (this._panels = []),
          (this._enabled = t.enable),
          (this._historyEnabled = t.history),
          (this._statesEnabled = t.loadAndSave),
          (this._panelsClosable = t.panelsClosable);
        var d = c.setup();
        this._historyEnabled
          ? (d.addEventListener(u.STATE_PUSH, this, "onHistoryStatePush"),
            d.addEventListener(u.STATE_POP, this, "onHistoryStatePop"))
          : d.disable(),
          b.setup(),
          a.setup(e),
          r.setup(e);
        var A = t.opacity;
        1 != A && 0 != A && e.setStyleProperty("opacity", A),
          (this._canUpdate = !0);
        var g,
          v = this,
          f = 0,
          y = 10;
        window.addEventListener(p.WINDOW_RESIZE, function () {
          (v._canUpdate = !1),
            clearInterval(g),
            (g = setInterval(function () {
              f >= y && ((f = 0), (v._canUpdate = !0), clearInterval(g)), f++;
            }, 25));
        }),
          (this._shortcutEnable = "h"),
          document.addEventListener("keydown", function (t) {
            t.ctrlKey &&
              String.fromCharCode(t.which || t.keyCode).toLowerCase() ==
                v._shortcutEnable &&
              ((v._enabled = !v._enabled),
              v._enabled ? v._enable() : v._disable());
          }),
          this._enabled || this._disable(),
          (_ = !0);
      }
      (E.prototype = Object.create(l.prototype)),
        (E.prototype.constructor = E),
        (E.prototype.addPanel = function (t) {
          var e = new i(this, t);
          return this._panels.push(e), e;
        }),
        (E.prototype.update = function () {
          if (this._enabled && this._canUpdate) {
            var t,
              e,
              n,
              o,
              i,
              r,
              a,
              s,
              l,
              h,
              p = this._panels;
            for (t = -1, o = p.length; ++t < o; )
              if (!(a = p[t]).isDisabled())
                for (e = -1, i = (s = a.getGroups()).length; ++e < i; )
                  for (n = -1, r = (l = s[e].getComponents()).length; ++n < r; )
                    (h = l[n]).isDisabled() ||
                      ((h instanceof v || h instanceof f || h instanceof y) &&
                        h.update());
          }
        }),
        (E.prototype.historyIsEnabled = function () {
          return this._historyEnabled;
        }),
        (E.prototype.statesAreEnabled = function () {
          return this._statesEnabled;
        }),
        (E.prototype.panelsAreClosable = function () {
          return this._panelsClosable;
        }),
        (E.prototype._enable = function () {
          for (var t = -1, e = this._panels, n = e.length; ++t < n; )
            e[t].enable();
          this._node.setStyleProperty("visibility", "");
        }),
        (E.prototype._disable = function () {
          for (var t = -1, e = this._panels, n = e.length; ++t < n; )
            e[t].disable();
          this._node.setStyleProperty("visibility", "hidden");
        }),
        (E.prototype.enable = function () {
          this._enable(), (this._enabled = !0);
        }),
        (E.prototype.disable = function () {
          this._disable(), (this._enabled = !1);
        }),
        (E.prototype.setShortcutEnable = function (t) {
          this._shortcutEnable = t;
        }),
        (E.prototype.onHistoryStatePush = function () {
          this.dispatchEvent(new h(this, A.UPDATE_MENU, null));
        }),
        (E.prototype.onHistoryStatePop = function () {
          this.dispatchEvent(new h(this, d.UPDATE_VALUE, { origin: null })),
            this.dispatchEvent(new h(this, A.UPDATE_MENU, null));
        }),
        (E.prototype.loadSettings = function (t) {
          for (var e = -1, n = t.length, o = this._panels; ++e < n; )
            o[e].setData(t[e]);
        }),
        (E.prototype._loadState = function () {
          g.load(this.loadSettings.bind(this));
        }),
        (E.prototype._saveState = function () {
          this.update();
          for (
            var t = this._panels, e = -1, n = t.length, o = new Array(n);
            ++e < n;

          )
            o[e] = t[e].getData();
          g.save({ data: o });
        }),
        (E.prototype.getNode = function () {
          return this._node;
        }),
        (E.destroy = function () {
          b.get().destroy(), r.get().destroy(), a.get().destroy(), (_ = !1);
        }),
        (t.exports = E);
    },
    97493: (t, e, n) => {
      var o = n(47261),
        i = n(81231),
        r = n(33925),
        a = n(70858),
        s = n(40930),
        l = n(13424);
      function h(t, e, n, h) {
        (n = n || function () {}),
          ((h = h || {}).label = h.label || ""),
          s.apply(this, [t, h]);
        var p = (this._inputNode = new a(a.INPUT_BUTTON));
        p.setStyleClass(l.Button), p.setProperty("value", e);
        var d = this;
        p.addEventListener(i.ON_CLICK, function () {
          n.bind(d)(), d.dispatchEvent(new o(d, r.VALUE_UPDATED));
        }),
          this._wrapNode.addChild(p);
      }
      (h.prototype = Object.create(s.prototype)),
        (h.prototype.constructor = h),
        (h.prototype.getButtonLabel = function () {
          return this._inputNode.getProperty("value");
        }),
        (h.prototype.setButtonLabel = function (t) {
          this._inputNode.setProperty("value", t);
        }),
        (t.exports = h);
    },
    12410: (t, e, n) => {
      var o = n(14652),
        i = n(81796),
        r = n(47261),
        a = n(72519),
        s = n(81231),
        l = n(70858),
        h = n(13424);
      function p(t) {
        o.apply(this);
        var e = (this._btnNode = new l(l.INPUT_BUTTON)),
          n = (this._indiNode = new l());
        (this._onActive = function () {}),
          (this._onDeactive = function () {}),
          (this._isActive = !1),
          e.setStyleClass(h.ButtonPreset),
          e.addEventListener(s.MOUSE_DOWN, this._onMouseDown.bind(this)),
          e.addChild(n),
          t.addChildAt(e, 0),
          i.get().addEventListener(a.TRIGGER, this, "onOptionTrigger"),
          this.addEventListener(a.TRIGGERED, i.get(), "onOptionTriggered");
      }
      (p.prototype = Object.create(o.prototype)),
        (p.prototype.constructor = p),
        (p.prototype.onOptionTrigger = function (t) {
          t.data.origin != this
            ? this._isActive && this.deactivate()
            : this._isActive
            ? this._onDeactive()
            : (this._onActive(),
              this._btnNode.setStyleClass(h.ButtonPresetActive),
              (this._isActive = !0));
        }),
        (p.prototype._onMouseDown = function () {
          this.dispatchEvent(new r(this, a.TRIGGERED, null));
        }),
        (p.prototype.setOnActive = function (t) {
          this._onActive = t;
        }),
        (p.prototype.setOnDeactive = function (t) {
          this._onDeactive = t;
        }),
        (p.prototype.deactivate = function () {
          (this._isActive = !1), this._btnNode.setStyleClass(h.ButtonPreset);
        }),
        (t.exports = p);
    },
    64376: (t, e, n) => {
      var o = n(40930),
        i = n(13424),
        r = n(35226),
        a = n(47261),
        s = n(47282);
      function l(t, e) {
        o.apply(this, arguments);
        var n = this._wrapNode;
        n.setStyleClass(i.CanvasWrap);
        var r = (this._canvas = document.createElement("canvas"));
        n.getElement().appendChild(r);
        var a = n.getWidth();
        (this._canvasWidth = this._canvasHeight = 0),
          this._setCanvasSize(a, a),
          this._updateHeight(),
          this._node.setStyleClass(i.CanvasListItem),
          this._parent.addEventListener(
            s.GROUP_SIZE_CHANGE,
            this,
            "onGroupSizeChange"
          ),
          this.addEventListener(
            s.GROUP_SIZE_UPDATE,
            this._parent,
            "onGroupSizeUpdate"
          );
      }
      (l.prototype = Object.create(o.prototype)),
        (l.prototype.constructor = l),
        (l.prototype._updateHeight = function () {
          var t = this._canvas.height;
          this._wrapNode.setHeight(t),
            this._node.setHeight(t + r.PADDING_WRAPPER);
        }),
        (l.prototype.onGroupSizeChange = function () {
          var t = this._wrapNode.getWidth();
          this._setCanvasSize(t, t),
            this._updateHeight(),
            this._redraw(),
            this.dispatchEvent(new a(this, s.GROUP_SIZE_UPDATE, null));
        }),
        (l.prototype._setCanvasSize = function (t, e) {
          var n = (this._canvasWidth = t),
            o = (this._canvasHeight = e),
            i = this._canvas;
          (i.style.width = n + "px"),
            (i.style.height = o + "px"),
            (i.width = n),
            (i.height = o);
        }),
        (l.prototype.getCanvas = function () {
          return this._canvas;
        }),
        (l.prototype.getContext = function () {
          return this._canvas.getContext("2d");
        }),
        (t.exports = l);
    },
    65761: (t, e, n) => {
      var o = n(32884),
        i = n(70858),
        r = n(47261),
        a = n(81231),
        s = n(33925);
      function l(t, e, n, r) {
        o.apply(this, arguments),
          ((r = r || {}).onChange = r.onChange || this._onChange),
          (this._onChange = r.onChange);
        var s = (this._input = new i(i.INPUT_CHECKBOX));
        s.setProperty("checked", this._obj[this._key]),
          s.addEventListener(a.CHANGE, this._onInputChange.bind(this)),
          this._wrapNode.addChild(this._input);
      }
      (l.prototype = Object.create(o.prototype)),
        (l.prototype.constructor = l),
        (l.prototype.applyValue = function () {
          this.pushHistoryState();
          var t = this._obj,
            e = this._key;
          (t[e] = !t[e]),
            this.dispatchEvent(new r(this, s.VALUE_UPDATED, null));
        }),
        (l.prototype._onInputChange = function () {
          this.applyValue(), this._onChange();
        }),
        (l.prototype.onValueUpdate = function (t) {
          t.data.origin != this &&
            this._input.setProperty("checked", this._obj[this._key]);
        }),
        (t.exports = l);
    },
    61134: (t, e, n) => {
      var o = n(32884),
        i = n(70858),
        r = n(89433),
        a = n(66716),
        s = n(21074),
        l = n(83211),
        h = n(12410),
        p = n(35226),
        d = n(13424),
        u = n(47261),
        A = n(81231),
        c = n(33925),
        g = n(72222),
        b = r.HEX,
        v = "Color format should be hex. Set colorMode to rgb, rgbfv or hsv.",
        f = "Color format should be rgb, rgbfv or hsv. Set colorMode to hex.",
        y = "Preset color format should be hex.",
        _ = "Preset color format should be rgb, rgbfv or hsv.";
      function E(t, e, n, r) {
        o.apply(this, arguments),
          ((r = r || {}).presets = r.presets || null),
          (r.colorMode = r.colorMode || b),
          (r.onChange = r.onChange || this._onChange),
          (this._presetsKey = r.presets),
          (this._onChange = r.onChange);
        var a = (this._color = new i());
        n = this._value = this._obj[this._key];
        var s = (this._colorMode = r.colorMode);
        this._validateColorFormat(n, v, f);
        var u = this._wrapNode;
        if (this._presetsKey) {
          a.setStyleClass(d.Color);
          var c = new i();
          c.setStyleClass(d.WrapColorWPreset), u.addChild(c), c.addChild(a);
          for (var g = this._obj[this._presetsKey], E = -1; ++E < g.length; )
            this._validateColorFormat(g[E], y, _);
          var C = l.get(),
            w = new h(u),
            x = function () {
              C.clear(), w.deactivate();
            },
            m = this,
            S = function () {
              C.build(
                g,
                m._value,
                a,
                function () {
                  m.pushHistoryState(),
                    (m._value = g[C.getSelectedIndex()]),
                    m.applyValue(),
                    m._onChange(m._obj[m._key]);
                },
                x,
                p.PADDING_PRESET,
                !0,
                s
              );
            };
          w.setOnActive(S), w.setOnDeactive(x);
        } else a.setStyleClass(d.Color), u.addChild(a);
        a.addEventListener(A.MOUSE_DOWN, this._onColorTrigger.bind(this)),
          this._updateColor();
      }
      (E.prototype = Object.create(o.prototype)),
        (E.prototype.constructor = E),
        (E.prototype._onColorTrigger = function () {
          var t,
            e = this._colorMode,
            n = r.HEX,
            o = r.RGB,
            i = r.RGBfv,
            s = r.HSV,
            l = this._value,
            h = function () {
              switch ((this.pushHistoryState(), e)) {
                case n:
                  this._value = a.get().getHEX();
                  break;
                case o:
                  (t = a.get().getRGB()),
                    (l[0] = t[0]),
                    (l[1] = t[1]),
                    (l[2] = t[2]);
                  break;
                case i:
                  (t = a.get().getRGBfv()),
                    (l[0] = t[0]),
                    (l[1] = t[1]),
                    (l[2] = t[2]);
                  break;
                case s:
                  this._value = a.get().getHSV();
              }
              this.applyValue();
            }.bind(this),
            p = a.get();
          switch (e) {
            case n:
              p.setColorHEX(l);
              break;
            case o:
              p.setColorRGB(l[0], l[1], l[2]);
              break;
            case i:
              p.setColorRGBfv(l[0], l[1], l[2]);
              break;
            case s:
              p.setColorHSV(l[0], l[1], l[2]);
          }
          p.setCallbackPick(h), p.open();
        }),
        (E.prototype.applyValue = function () {
          (this._obj[this._key] = this._value),
            this._updateColor(),
            this.dispatchEvent(new u(this, c.VALUE_UPDATED, null)),
            this._onChange(this._obj[this._key]);
        }),
        (E.prototype.onValueUpdate = function (t) {
          t.data.origin != this &&
            ((this._value = this._obj[this._key]), this._updateColor());
        }),
        (E.prototype._updateColor = function () {
          var t,
            e = this._value,
            n = this._color;
          switch ((n.setProperty("innerHTML", e), this._colorMode)) {
            case r.HEX:
              t = e;
              break;
            case r.RGB:
              t = s.RGB2HEX(e[0], e[1], e[2]);
              break;
            case r.RGBfv:
              t = s.RGBfv2HEX(e[0], e[1], e[2]);
              break;
            case r.HSV:
              t = s.HSV2RGB(e[0], e[1], e[2]);
          }
          n.getStyle().backgroundColor = t;
        }),
        (E.prototype._validateColorFormat = function (t, e, n) {
          var o = this._colorMode;
          if (
            (o == r.HEX &&
              "[object Array]" === Object.prototype.toString.call(t)) ||
            (o == r.HEX &&
              "[object Float32Array]" === Object.prototype.toString.call(t))
          )
            throw new g(e);
          if (
            ((o == r.RGB || o == r.RGBfv || o == r.HSV) &&
              "[object Array]" !== Object.prototype.toString.call(t)) ||
            (o == r.HSV &&
              "[object Float32Array]" !== Object.prototype.toString.call(t))
          )
            throw new g(n);
        }),
        (t.exports = E);
    },
    77563: (t) => {
      t.exports = { IMPLICIT: "implicit", NON_IMPLICIT: "nonImplicit" };
    },
    12396: (t, e, n) => {
      var o = n(78427),
        i = n(70858),
        r = n(13424),
        a = n(77563),
        s = n(36177),
        l = n(35226),
        h = n(69819),
        p = n(33925),
        d = n(81231),
        u = n(17160),
        A = n(61467),
        c = n(81796),
        g = "rgba(255,255,255,0.75)",
        b = "rgba(25,25,25,0.75)",
        v = "rgb(54,60,64)",
        f = "rgb(25,25,25)";
      function y(t, e, n, s) {
        if (
          (((s = s || {}).showMinMaxLabels =
            void 0 === s.showMinMaxLabels || s.showMinMaxLabels),
          o.apply(this, arguments),
          "function" != typeof e[n])
        )
          throw new u(e, n);
        var l = e[n].length;
        if (l > 2 || 0 == l) throw new A();
        var y = this._svgRoot,
          _ = this._path,
          E = (this._axes = y.insertBefore(this._createSVGObject("path"), _));
        E.style.strokeWidth = 1;
        var C = (this._axesLabels = y.insertBefore(
          this._createSVGObject("path"),
          _
        ));
        (C.style.stroke = "rgb(43,48,51)"), (C.style.strokeWidth = 1);
        var w = this._grid,
          x = this._svg,
          m = Number(x.getAttribute("width")),
          S = new i();
        S.setStyleClass(r.GraphSliderXWrap);
        var T = new i();
        T.setStyleClass(r.GraphSliderYWrap);
        var N = (this._sliderXTrack = new i());
        N.setStyleClass(r.GraphSliderX);
        var P = (this._sliderYTrack = new i());
        P.setStyleClass(r.GraphSliderY);
        var L = (this._sliderXHandle = new i());
        L.setStyleClass(r.GraphSliderXHandle);
        var V = (this._sliderYHandle = new i());
        V.setStyleClass(r.GraphSliderYHandle),
          N.addChild(L),
          P.addChild(V),
          S.addChild(N),
          T.addChild(P);
        var B = this._wrapNode,
          I = (this._plotMode = 1 == l ? a.NON_IMPLICIT : a.IMPLICIT);
        if (I == a.IMPLICIT) {
          var G = (this._canvas = document.createElement("canvas"));
          (G.style.width = G.style.height = m + "px"),
            (G.width = G.height = m),
            B.getElement().insertBefore(G, x),
            (this._canvasContext = G.getContext("2d")),
            (this._canvasImageData = this._canvasContext.getImageData(
              0,
              0,
              m,
              m
            )),
            (E.style.stroke = g),
            (w.style.stroke = b);
        } else (E.style.stroke = v), (w.style.stroke = f);
        B.addChild(S),
          B.addChild(T),
          L.addEventListener(
            d.MOUSE_DOWN,
            this._onSliderXHandleDown.bind(this)
          ),
          V.addEventListener(
            d.MOUSE_DOWN,
            this._onSliderYHandleDown.bind(this)
          );
        var O = (this._units = [null, null]);
        (this._scale = null),
          I == a.NON_IMPLICIT
            ? ((O[0] = 1), (O[1] = 1), (this._scale = 10))
            : I == a.IMPLICIT &&
              ((O[0] = 0.25), (O[1] = 0.25), (this._scale = 1)),
          (this._unitsMinMax = [0.15, 4]),
          (this._scaleMinMax = [0.02, 25]),
          (this._center = [Math.round(0.5 * m), Math.round(0.5 * m)]),
          (this._svgPos = [0, 0]),
          (this._func = null),
          this.setFunction(this._obj[this._key]),
          this._sliderXHandleUpdate(),
          this._sliderYHandleUpdate(),
          x.addEventListener(h.MOUSE_DOWN, this._onDragStart.bind(this), !1),
          this._wrapNode
            .getElement()
            .addEventListener("mousewheel", this._onScale.bind(this, !1)),
          c.get().addEventListener(p.UPDATE_VALUE, this, "onValueUpdate");
      }
      (y.prototype = Object.create(o.prototype)),
        (y.prototype.constructor = y),
        (y.prototype._updateCenter = function () {
          var t = this._svg,
            e = Number(t.getAttribute("width")),
            n = Number(t.getAttribute("height")),
            o = s.get().getPosition(),
            i = this._svgPos,
            r = this._center;
          (r[0] = Math.max(0, Math.min(o[0] - i[0], e))),
            (r[1] = Math.max(0, Math.min(o[1] - i[1], n))),
            this._plotGraph();
        }),
        (y.prototype._onDragStart = function (t) {
          var e = this._svgPos;
          (e[0] = 0), (e[1] = 0);
          for (var n = this._svg.parentNode; n; )
            (e[0] += n.offsetLeft), (e[1] += n.offsetTop), (n = n.offsetParent);
          var o = h.MOUSE_MOVE,
            i = h.MOUSE_UP,
            r = this._updateCenter.bind(this),
            a = function () {
              this._updateCenter.bind(this),
                document.removeEventListener(o, r, !1),
                document.removeEventListener(i, a, !1);
            }.bind(this);
          document.addEventListener(o, r, !1),
            document.addEventListener(i, a, !1),
            this._updateCenter();
        }),
        (y.prototype._onScale = function (t) {
          (t = window.event || t),
            (this._scale +=
              -1 * Math.max(-1, Math.min(1, t.wheelDelta || -t.detail)));
          var e = this._scaleMinMax;
          (this._scale = Math.max(e[0], Math.min(this._scale, e[1]))),
            this._plotGraph(),
            t.preventDefault();
        }),
        (y.prototype.onValueUpdate = function () {
          this.setFunction(this._obj[this._key]);
        }),
        (y.prototype._redraw = function () {
          if (this._plotMode == a.IMPLICIT) {
            var t = this._wrapNode.getWidth(),
              e = this._canvas;
            (e.style.width = e.style.height = t + "px"),
              (e.width = e.height = t),
              (this._canvasImageData = this._canvasContext.getImageData(
                0,
                0,
                t,
                t
              ));
          }
          this._sliderXHandleUpdate(),
            this._sliderYHandleUpdate(),
            this.setFunction(this._obj[this._key]);
        }),
        (y.prototype.setFunction = function (t) {
          (this._func = t.bind(this._obj)), this._plotGraph();
        }),
        (y.prototype._plotGraph = function () {
          this._drawGrid(), this._drawAxes(), this._drawPlot();
        }),
        (y.prototype._drawAxes = function () {
          var t = this._svg,
            e = Number(t.getAttribute("width")),
            n = Number(t.getAttribute("height")),
            o = this._center,
            i = o[0],
            r = o[1],
            a = "";
          (a += this._pathCmdLine(0, r, e, r)),
            (a += this._pathCmdLine(i, 0, i, n)),
            this._axes.setAttribute("d", a);
        }),
        (y.prototype._drawPlot = function () {
          var t,
            e,
            n,
            o,
            i,
            r,
            s,
            l,
            h,
            p,
            d = this._center,
            u = d[0],
            A = d[1],
            c = this._units,
            g = this._scale;
          if (this._plotMode == a.NON_IMPLICIT) {
            var b = this._svg;
            (t = Number(b.getAttribute("width"))),
              (e = Number(b.getAttribute("height"))),
              (n = c[0] * g),
              (o = e / (c[1] * g)),
              (l = u / t);
            var v = Math.floor(t),
              f = new Array(2 * v);
            for (p = -1; ++p < v; )
              (i = (p / v - l) * n),
                (r = A - this._func(i) * o),
                (f[(s = 2 * p)] = p),
                (f[s + 1] = r);
            var y = "";
            for (y += this._pathCmdMoveTo(f[0], f[1]), p = 2; p < f.length; )
              (y += this._pathCmdLineTo(f[p], f[p + 1])), (p += 2);
            this._path.setAttribute("d", y);
          } else {
            var _ = this._canvas,
              E = this._canvasContext,
              C = this._canvasImageData;
            (t = _.width),
              (e = _.height),
              (n = c[0] * g),
              (o = c[1] * g),
              (l = u / t),
              (h = A / e);
            var w,
              x = 1 / t,
              m = 1 / e,
              S = [0, 0, 0],
              T = [30, 34, 36],
              N = [255, 255, 255];
            for (p = -1; ++p < e; )
              for (w = -1; ++w < t; )
                (r = this._func((w * x - l) * n, (p * m - h) * o)),
                  (S[0] = Math.floor((N[0] - T[0]) * r + T[0])),
                  (S[1] = Math.floor((N[1] - T[1]) * r + T[1])),
                  (S[2] = Math.floor((N[2] - T[2]) * r + T[2])),
                  (s = 4 * (p * t + w)),
                  (C.data[s] = S[0]),
                  (C.data[s + 1] = S[1]),
                  (C.data[s + 2] = S[2]),
                  (C.data[s + 3] = 255);
            E.clearRect(0, 0, t, e), E.putImageData(C, 0, 0);
          }
        }),
        (y.prototype._drawGrid = function () {
          var t,
            e,
            n = this._svg,
            o = Number(n.getAttribute("width")),
            i = Number(n.getAttribute("height")),
            r = this._scale,
            a = this._units,
            s = o / (a[0] * r),
            h = i / (a[1] * r),
            p = this._center,
            d = p[0],
            u = p[1],
            A = Math.round(u / h) + 1,
            c = Math.round((i - u) / h) + 1,
            g = Math.round(d / s) + 1,
            b = Math.round((o - d) / s) + 1,
            v = "",
            f = "",
            y = l.STROKE_SIZE,
            _ = l.FUNCTION_PLOTTER_LABEL_TICK_SIZE,
            E = o - _ - y,
            C = i - _ - y,
            w = E - _,
            x = C - _,
            m = E - 2 * (_ + y),
            S = C - 2 * (_ + y);
          for (t = -1; ++t < A; )
            (e = Math.round(u - h * t)),
              (v += this._pathCmdLine(0, e, o, e)),
              e > _ && (f += this._pathCmdLine(E, e, w, e));
          for (t = -1; ++t < c; )
            (e = Math.round(u + h * t)),
              (v += this._pathCmdLine(0, e, o, e)),
              e < S && (f += this._pathCmdLine(E, e, w, e));
          for (t = -1; ++t < g; )
            (e = Math.round(d - s * t)),
              (v += this._pathCmdLine(e, 0, e, i)),
              e > _ && (f += this._pathCmdLine(e, C, e, x));
          for (t = -1; ++t < b; )
            (e = Math.round(d + s * t)),
              (v += this._pathCmdLine(e, 0, e, i)),
              e < m && (f += this._pathCmdLine(e, C, e, x));
          this._grid.setAttribute("d", v),
            this._axesLabels.setAttribute("d", f);
        }),
        (y.prototype._sliderXStep = function (t) {
          var e = t[0],
            n = this._sliderXHandle,
            o = 0.5 * n.getWidth(),
            i = this._sliderXTrack,
            r = i.getWidth(),
            a = i.getPositionGlobalX(),
            s = r - o - 2 * l.STROKE_SIZE,
            h = Math.max(o, Math.min(e - a, s)),
            p = h - o;
          n.setPositionX(p);
          var d = this._unitsMinMax[0],
            u = d + (this._unitsMinMax[1] - d) * ((h - o) / (s - o));
          (this._units[0] = u), this._plotGraph();
        }),
        (y.prototype._sliderYStep = function (t) {
          var e = t[1],
            n = this._sliderYHandle,
            o = 0.5 * n.getHeight(),
            i = this._sliderYTrack,
            r = i.getHeight(),
            a = i.getPositionGlobalY(),
            s = r - o - 2,
            l = Math.max(o, Math.min(e - a, s)),
            h = l - o;
          n.setPositionY(h);
          var p = this._unitsMinMax[0],
            d = this._unitsMinMax[1],
            u = d + (p - d) * ((l - o) / (s - o));
          (this._units[1] = u), this._plotGraph();
        }),
        (y.prototype._onSliderXHandleDown = function () {
          this._onSliderHandleDown(this._sliderXStep.bind(this));
        }),
        (y.prototype._onSliderYHandleDown = function () {
          this._onSliderHandleDown(this._sliderYStep.bind(this));
        }),
        (y.prototype._onSliderHandleDown = function (t) {
          var e = h.MOUSE_MOVE,
            n = h.MOUSE_UP,
            o = s.get(),
            i = function () {
              t(o.getPosition());
            },
            r = function () {
              document.removeEventListener(e, i, !1),
                document.removeEventListener(n, r, !1);
            };
          t(o.getPosition()),
            document.addEventListener(e, i, !1),
            document.addEventListener(n, r, !1);
        }),
        (y.prototype._sliderXHandleUpdate = function () {
          var t = this._unitsMinMax[0],
            e = this._unitsMinMax[1],
            n = this._units[0],
            o = this._sliderXHandle,
            i = 0.5 * o.getWidth(),
            r = i,
            a = this._sliderXTrack.getWidth() - i - 2 * l.STROKE_SIZE;
          o.setPositionX(r + ((n - t) / (e - t)) * (a - r) - i);
        }),
        (y.prototype._sliderYHandleUpdate = function () {
          var t = this._unitsMinMax[0],
            e = this._unitsMinMax[1],
            n = this._units[1],
            o = this._sliderYHandle,
            i = 0.5 * o.getHeight(),
            r = this._sliderYTrack.getHeight() - i - 2 * l.STROKE_SIZE,
            a = i;
          o.setPositionY(r + ((n - t) / (e - t)) * (a - r) - i);
        }),
        (t.exports = y);
    },
    61467: (t) => {
      function e() {
        Error.apply(this),
          Error.captureStackTrace(this, e),
          (this.name = "FunctionPlotterFunctionArgsError"),
          (this.message = "Function should be of form f(x) or f(x,y).");
      }
      (e.prototype = Object.create(Error.prototype)),
        (e.prototype.constructor = e),
        (t.exports = e);
    },
    17160: (t) => {
      function e(t, n) {
        Error.apply(this),
          Error.captureStackTrace(this, e),
          (this.name = "ComponentObjectError"),
          (this.message =
            "Object " +
            t.constructor.name +
            " " +
            n +
            "should be of type Function.");
      }
      (e.prototype = Object.create(Error.prototype)),
        (e.prototype.constructor = e),
        (t.exports = e);
    },
    35226: (t) => {
      t.exports = {
        COMPONENT_MIN_HEIGHT: 25,
        STROKE_SIZE: 1,
        PADDING_WRAPPER: 12,
        PADDING_OPTIONS: 2,
        PADDING_PRESET: 20,
        SCROLLBAR_TRACK_PADDING: 2,
        FUNCTION_PLOTTER_LABEL_TICK_SIZE: 6,
      };
    },
    7969: (t, e, n) => {
      var o = n(32884),
        i = n(36735),
        r = n(70858),
        a = n(83211),
        s = n(12410),
        l = n(13424),
        h = n(35226),
        p = n(47261),
        d = n(69819),
        u = n(81231),
        A = n(33925);
      function c(t, e, n, p) {
        o.apply(this, arguments),
          ((p = p || {}).onBegin = p.onBegin || null),
          (p.onChange = p.onChange || this._onChange),
          (p.onFinish = p.onFinish || null),
          (p.onError = p.onError || null),
          (p.dp = void 0 === p.dp || null == p.dp ? 2 : p.dp),
          (p.step = p.step || 1),
          (p.presets = p.presets || null),
          (this._onBegin = p.onBegin),
          (this._onChange = p.onChange),
          (this._presetsKey = p.presets);
        var d = (this._input = new i(
            p.step,
            p.dp,
            p.onBegin,
            this._onInputChange.bind(this),
            p.onFinish,
            p.onError
          )),
          c = this._wrapNode,
          g = p.presets;
        if (g) {
          var b = new r();
          b.setStyleClass(l.WrapInputWPreset),
            c.addChild(b),
            b.addChild(d.getNode());
          var v = a.get(),
            f = (this._btnPreset = new s(this._wrapNode)),
            y = function () {
              v.clear(), f.deactivate();
            },
            _ = this,
            E = function () {
              v.build(
                g,
                d.getValue(),
                d.getNode(),
                function () {
                  d.setValue(g[v.getSelectedIndex()]),
                    _.applyValue(),
                    _._onChange(_._obj[_._key]);
                },
                y,
                h.PADDING_PRESET,
                !1
              );
            };
          f.setOnActive(E), f.setOnDeactive(y);
        } else c.addChild(d.getNode());
        d
          .getNode()
          .addEventListener(u.MOUSE_DOWN, this._onInputDragStart.bind(this)),
          this.addEventListener(
            A.INPUT_SELECT_DRAG,
            this._parent,
            "onComponentSelectDrag"
          ),
          d.setValue(this._obj[this._key]);
      }
      (c.prototype = Object.create(o.prototype)),
        (c.prototype.constructor = c),
        (c.prototype._onInputChange = function () {
          this.applyValue(), this._onChange(this._obj[this._key]);
        }),
        (c.prototype.applyValue = function () {
          this.pushHistoryState(),
            (this._obj[this._key] = this._input.getValue()),
            this.dispatchEvent(new p(this, A.VALUE_UPDATED, null));
        }),
        (c.prototype.onValueUpdate = function (t) {
          t.data.origin != this && this._input.setValue(this._obj[this._key]);
        }),
        (c.prototype._onInputDragStart = function () {
          var t = d.MOUSE_MOVE,
            e = d.MOUSE_UP,
            n = A.INPUT_SELECT_DRAG,
            o = this,
            i = function () {
              o.dispatchEvent(new p(this, n, null));
            },
            r = function () {
              o.dispatchEvent(new p(this, n, null)),
                document.removeEventListener(t, i, !1),
                document.removeEventListener(t, r, !1);
            };
          this.dispatchEvent(new p(this, n, null)),
            document.addEventListener(t, i, !1),
            document.addEventListener(e, r, !1);
        }),
        (t.exports = c);
    },
    36735: (t, e, n) => {
      var o = n(14652),
        i = (n(81231), n(70858)),
        r = /^-?\d*\.?\d*$/,
        a = null,
        s = null;
      function l(t, e) {
        t.setProperty("value", e), t.dispatchEvent(new Event("input"));
      }
      (NumberInput_Internal = function (t, e, n, r, l, h) {
        o.apply(this, null),
          (this._value = 0),
          (this._valueStep = t),
          (this._valueDp = e),
          (this._onBegin = n || function () {}),
          (this._onChange = r || function () {}),
          (this._onFinish = l || function () {}),
          (this._onError = h || function () {}),
          (this._keyCode = null),
          (this._caretOffset = 0);
        var p = (this._input = new i("text"));
        p.setProperty("value", this._value),
          p.addEventListener("input", this._onInput.bind(this)),
          p.addEventListener("keydown", this._onKeydown.bind(this)),
          a ||
            (p.getElement().setSelectionRange
              ? ((a = function (t, e) {
                  t.getElement().setSelectionRange(e, e);
                }),
                (s = function (t) {
                  t.getElement().setSelectionRange(
                    0,
                    t.getProperty("value").length
                  );
                }))
              : ((a = function (t, e) {
                  var n = t.getElement().createTextRange();
                  n.collapse(!0),
                    n.moveEnd("character", e),
                    n.moveStart("character", e),
                    n.select();
                }),
                (s = function (t) {
                  var e = t.getElement().createTextRange();
                  e.collapse(!0),
                    e.moveStart("character", 0),
                    e.moveEnd("character", t.getProperty("value").length),
                    e.select();
                })));
      }),
        (NumberInput_Internal.prototype = Object.create(o.prototype)),
        (NumberInput_Internal.prototype.constructor = NumberInput_Internal),
        (NumberInput_Internal.prototype._setValue = function (t) {
          var e = ((t = +t) || 1 / t) < 0 && 0 == t ? "-" : "";
          (t = Number(t).toFixed(this._valueDp)),
            this._input.setProperty("value", e + t),
            (this._value = Number(t));
        }),
        (NumberInput_Internal.prototype._onInput = function () {
          var t = this._input,
            e = t.getProperty("value"),
            n = t.getProperty("selectionStart"),
            o = this._valueDp,
            i = e[0];
          if (
            ("" == e ? (e = 0) : "." === i && (e = "0" + e),
            !r.test(e) || "-" == e)
          )
            return (
              t.setProperty("value", this._value.toFixed(o)),
              a(t, Math.max(--n, 0)),
              void this._onError(this._keyCode)
            );
          this._onBegin(this._value),
            this._setValue(e),
            a(t, n - this._caretOffset),
            this._onChange();
        }),
        (NumberInput_Internal.prototype._onKeydown = function (t) {
          var e = (this._keyCode = t.keyCode);
          if (13 == e) return this._onFinish(), void t.preventDefault();
          var n = this._input,
            o = n.getProperty("value"),
            i = n.getProperty("selectionStart"),
            r = n.getProperty("selectionEnd"),
            h = o.length,
            p = 8 == e || 45 == e,
            d = t.metaKey,
            u = t.ctrlKey,
            A = 37 == e,
            c = A || 39 == e,
            g = t.shiftKey,
            b = 38 == e || 40 == e,
            v = (d || u) && 65 == e,
            f = i != r,
            y = 0 == i && r == h,
            _ = 189 == e,
            E = o.indexOf(".");
          if (((this._caretOffset = 0), (!d && !u) || 90 != e)) {
            if (v) return s(n), void t.preventDefault();
            if (y)
              return (
                _
                  ? (l(n, "-0"), a(n, 1))
                  : (l(n, p ? 0 : String.fromCharCode(e)), a(n, A ? i : r)),
                void t.preventDefault()
              );
            if (!p || i - 1 != E) {
              if (!c && "0" == o[0] && 1 == i)
                return a(n, 1), void (this._caretOffset = 1);
              if (b) {
                var C = (g ? 10 : 1) * this._valueStep,
                  w = 38 == e ? 1 : -1;
                return (
                  l(n, Number(o) + C * w), a(n, i), void t.preventDefault()
                );
              }
              return !f || (g && c)
                ? !g && !c && !p && i > E && i < h
                  ? (l(
                      n,
                      (o =
                        o.substr(0, i) +
                        String.fromCharCode(e) +
                        o.substr(i + 1, h - 1))
                    ),
                    a(n, Math.min(i + 1, h - 1)),
                    void t.preventDefault())
                  : void (!p && !c && !b && i >= h && t.preventDefault())
                : (c
                    ? a(n, A ? i : r)
                    : (l(
                        n,
                        (o =
                          o.substr(0, i) +
                          String.fromCharCode(e) +
                          o.substr(r, h - r))
                      ),
                      a(n, r)),
                  void t.preventDefault());
            }
            a(n, i - 1);
          } else t.preventDefault();
        }),
        (NumberInput_Internal.prototype.getValue = function () {
          return this._value;
        }),
        (NumberInput_Internal.prototype.setValue = function (t) {
          this._setValue(t);
        }),
        (NumberInput_Internal.prototype.getNode = function () {
          return this._input;
        }),
        (t.exports = NumberInput_Internal);
    },
    91724: (t, e, n) => {
      var o = n(35992);
      function i(t, e, n, i) {
        ((i = i || {}).dp = i.dp || 2),
          o.apply(this, arguments),
          (this._valueDp = i.dp + 1);
      }
      (i.prototype = Object.create(o.prototype)),
        (i.prototype.constructor = i),
        (i.prototype._setValue = function () {
          if (!this._parent.isDisabled()) {
            var t,
              e,
              n = this._obj[this._key],
              o = this._textArea,
              i = this._valueDp;
            if (
              "object" != typeof n ||
              "number" != typeof n.length ||
              "function" != typeof n.splice ||
              n.propertyIsEnumerable("length")
            )
              (t = (e = n.toString()).indexOf(".")),
                o.setProperty("value", t > 0 ? e.slice(0, t + i) : e);
            else {
              e = n.slice();
              for (var r, a = -1, s = this._wrap; ++a < e.length; )
                (t = (r = e[a] = e[a].toString()).indexOf(".")) > 0 &&
                  (e[a] = r.slice(0, t + i));
              s &&
                (o.setStyleProperty("white-space", "nowrap"),
                (e = e.join("\n"))),
                o.setProperty("value", e);
            }
          }
        }),
        (t.exports = i);
    },
    83211: (t, e, n) => {
      var o = n(70858),
        i = n(69819),
        r = n(81231),
        a = n(13424),
        s = n(89433),
        l = n(21074),
        h = n(35226);
      function p(t) {
        this._parenNode = t;
        var e = (this._node = new o()),
          n = (this._listNode = new o(o.LIST));
        e.setStyleClass(a.Options),
          e.addChild(n),
          (this._selectedIndex = null),
          (this._callbackOut = function () {}),
          (this._unfocusable = !1),
          document.addEventListener(
            i.MOUSE_DOWN,
            this._onDocumentMouseDown.bind(this)
          ),
          document.addEventListener(
            i.MOUSE_UP,
            this._onDocumentMouseUp.bind(this)
          ),
          this.clear();
      }
      (p.prototype = {
        _onDocumentMouseDown: function () {
          this._unfocusable && this._callbackOut();
        },
        _onDocumentMouseUp: function () {
          this._unfocusable = !0;
        },
        build: function (t, e, n, i, p, d, u, A) {
          this._clearList(), this._parenNode.addChild(this.getNode());
          var c = this._node,
            g = this._listNode;
          d = d || 0;
          var b,
            v,
            f,
            y,
            _ = this,
            E = -1;
          if (u)
            for (A = A || s.HEX, g.setStyleClass(a.Color); ++E < t.length; ) {
              switch (
                ((v = t[E]),
                (f = (b = g.addChild(new o(o.LIST_ITEM))).addChild(new o())),
                A)
              ) {
                case s.HEX:
                  y = v;
                  break;
                case s.RGB:
                  y = l.RGB2HEX(v[0], v[1], v[2]);
                  break;
                case s.RGBfv:
                  y = l.RGBfv2HEX(v[0], v[1], v[2]);
                  break;
                case s.HSV:
                  y = l.HSV2RGB(v[0], v[1], v[2]);
              }
              (f.getStyle().backgroundColor = y),
                (f.getStyle().backgroundImage =
                  "linear-gradient( rgba(0,0,0,0) 0%, rgba(0,0,0,0.1) 100%)"),
                f.setProperty("innerHTML", v),
                v == e && b.setStyleClass(a.OptionsSelected),
                b.addEventListener(r.MOUSE_DOWN, function () {
                  (_._selectedIndex = Array.prototype.indexOf.call(
                    this.parentNode.children,
                    this
                  )),
                    i();
                });
            }
          else
            for (g.deleteStyleClass(); ++E < t.length; )
              (v = t[E]),
                (b = g.addChild(new o(o.LIST_ITEM))).setProperty(
                  "innerHTML",
                  v
                ),
                v == e && b.setStyleClass(a.OptionsSelected),
                b.addEventListener(r.MOUSE_DOWN, function () {
                  (_._selectedIndex = Array.prototype.indexOf.call(
                    this.parentNode.children,
                    this
                  )),
                    i();
                });
          var C = n.getPositionGlobal(),
            w = n.getWidth() - d,
            x = n.getHeight(),
            m = g.getWidth(),
            S = g.getHeight(),
            T = 2 * h.STROKE_SIZE,
            N = h.PADDING_OPTIONS,
            P = (m < w ? w : m) - T,
            L = C[0],
            V = C[1] + x - N,
            B = L + P > window.innerWidth ? L - P + w - T : L,
            I = V + S > window.innerHeight ? V - 0.5 * S - 0.5 * x : V;
          g.setWidth(P),
            c.setPositionGlobal(B, I),
            (this._callbackOut = p),
            (this._unfocusable = !1);
        },
        _clearList: function () {
          this._listNode.removeAllChildren(),
            this._listNode.deleteStyleProperty("width"),
            (this._selectedIndex = null),
            (this._build = !1);
        },
        clear: function () {
          this._clearList(),
            (this._callbackOut = function () {}),
            this._parenNode.removeChild(this.getNode());
        },
        isBuild: function () {
          return this._build;
        },
        getNode: function () {
          return this._node;
        },
        getSelectedIndex: function () {
          return this._selectedIndex;
        },
      }),
        (p.setup = function (t) {
          return (p._instance = new p(t));
        }),
        (p.get = function () {
          return p._instance;
        }),
        (p.destroy = function () {
          p._instance = null;
        }),
        (t.exports = p);
    },
    35992: (t, e, n) => {
      var o = n(32884),
        i = n(70858),
        r = n(13424),
        a = n(35226),
        s = n(59574),
        l = n(47261),
        h = n(69819),
        p = n(81231),
        d = n(33925);
      function u(t, e, n, l) {
        o.apply(this, arguments),
          ((l = l || {}).height = l.height || null),
          (l.wrap = void 0 !== l.wrap && l.wrap),
          (l.update = void 0 === l.update || l.update),
          (this._wrap = l.wrap),
          (this._update = l.update);
        var h = (this._textArea = new i(i.TEXTAREA)),
          u = this._wrapNode,
          A = this._node;
        if (
          (h.setProperty("readOnly", !0),
          u.addChild(h),
          h.addEventListener(p.MOUSE_DOWN, this._onInputDragStart.bind(this)),
          this.addEventListener(
            d.INPUT_SELECT_DRAG,
            this._parent,
            "onComponentSelectDrag"
          ),
          l.height)
        ) {
          var c = new i();
          c.setStyleClass(r.TextAreaWrap), c.addChild(h), u.addChild(c);
          var g = (this._height = l.height),
            b = 4;
          h.setHeight(Math.max(g + b, a.COMPONENT_MIN_HEIGHT)),
            u.setHeight(h.getHeight()),
            A.setHeight(u.getHeight() + b),
            (this._scrollBar = new s(c, h, g - b));
        }
        l.wrap && h.setStyleProperty("white-space", "pre-wrap"),
          (this._prevString = ""),
          (this._prevScrollHeight = -1),
          this._setValue();
      }
      (u.prototype = Object.create(o.prototype)),
        (u.prototype.constructor = u),
        (u.prototype._setValue = function () {}),
        (u.prototype.onValueUpdate = function () {
          this._setValue();
        }),
        (u.prototype.update = function () {
          this._update && this._setValue();
        }),
        (u.prototype._onDrag = function () {
          this.dispatchEvent(new l(this, d.INPUT_SELECT_DRAG, null));
        }),
        (u.prototype._onDragFinish = function () {
          this.dispatchEvent(new l(this, d.INPUT_SELECT_DRAG, null)),
            document.removeEventListener(h.MOUSE_MOVE, this._onDrag, !1),
            document.removeEventListener(h.MOUSE_MOVE, this._onDragFinish, !1);
        }),
        (u.prototype._onInputDragStart = function () {
          this.dispatchEvent(new l(this, d.INPUT_SELECT_DRAG, null)),
            document.addEventListener(
              h.MOUSE_MOVE,
              this._onDrag.bind(this),
              !1
            ),
            document.addEventListener(
              h.MOUSE_UP,
              this._onDragFinish.bind(this),
              !1
            );
        }),
        (t.exports = u);
    },
    75239: (t, e, n) => {
      var o = n(78427),
        i = n(36177),
        r = n(47261),
        a = n(69819),
        s = n(33925),
        l = [-1, 1],
        h = [-1, 1];
      function p(t, e, n, i) {
        o.apply(this, arguments),
          ((i = i || {}).boundsX = i.boundsX || l),
          (i.boundsY = i.boundsY || h),
          (i.labelX = i.labelX || ""),
          (i.labelY = i.labelY || ""),
          (i.showCross = i.showCross || !0),
          (this._onChange = i.onChange || this._onChange),
          (this._onFinish = i.onFinish || function () {}),
          (this._boundsX = i.boundsX),
          (this._boundsY = i.boundsY),
          (this._labelAxisX =
            "" != i.labelX && "none" != i.labelX ? i.labelX : null),
          (this._labelAxisY =
            "" != i.labelY && "none" != i.labelY ? i.labelY : null);
        var r = this._path;
        (r.style.strokeWidth = 1),
          (r.style.stroke = "#363c40"),
          (this._grid.style.stroke = "rgb(25,25,25)"),
          (this._svgPos = [0, 0]);
        var s = (this._handle = this._svgRoot.appendChild(
            this._createSVGObject("g")
          )),
          p = s.appendChild(this._createSVGObject("circle"));
        p.setAttribute("r", String(11)),
          p.setAttribute("fill", "rgba(0,0,0,0.05)");
        var d = s.appendChild(this._createSVGObject("circle"));
        d.setAttribute("r", String(10)),
          d.setAttribute("fill", "rgb(83,93,98)");
        var u = s.appendChild(this._createSVGObject("circle"));
        u.setAttribute("r", String(9)),
          u.setAttribute("fill", "rgb(57,69,76)"),
          u.setAttribute("cy", String(0.75));
        var A = s.appendChild(this._createSVGObject("circle"));
        A.setAttribute("r", String(10)),
          A.setAttribute("stroke", "rgb(17,19,20)"),
          A.setAttribute("stroke-width", String(1)),
          A.setAttribute("fill", "none");
        var c = s.appendChild(this._createSVGObject("circle"));
        c.setAttribute("r", String(6)), c.setAttribute("fill", "rgb(30,34,36)");
        var g = s.appendChild(this._createSVGObject("circle"));
        g.setAttribute("r", String(3)),
          g.setAttribute("fill", "rgb(255,255,255)"),
          s.setAttribute("tranform", "translate(0 0)"),
          this._svg.addEventListener(
            a.MOUSE_DOWN,
            this._onDragStart.bind(this),
            !1
          ),
          this._drawValue(this._obj[this._key]);
      }
      (p.prototype = Object.create(o.prototype)),
        (p.prototype.constructor = p),
        (p.prototype._onDragStart = function () {
          var t = this._svgPos;
          (t[0] = 0), (t[1] = 0);
          for (var e = this._svg.parentNode; e; )
            (t[0] += e.offsetLeft), (t[1] += e.offsetTop), (e = e.offsetParent);
          var n = a.MOUSE_MOVE,
            o = a.MOUSE_UP,
            i = function () {
              this._drawValueInput(), this.applyValue(), this._onChange();
            }.bind(this),
            r = function () {
              this.pushHistoryState(),
                this._drawValueInput(),
                this.applyValue(),
                this._onFinish(),
                document.removeEventListener(n, i, !1),
                document.removeEventListener(o, r, !1);
            }.bind(this);
          document.addEventListener(n, i, !1),
            document.addEventListener(o, r, !1),
            this._drawValueInput(),
            this.applyValue(),
            this._onChange();
        }),
        (p.prototype._redraw = function () {
          this._drawValue(this._obj[this._key]);
        }),
        (p.prototype._drawValueInput = function () {
          this._drawValue(this._getMouseNormalized());
        }),
        (p.prototype._drawValue = function (t) {
          (this._obj[this._key] = t), this._drawGrid(), this._drawPoint();
        }),
        (p.prototype._drawGrid = function () {
          var t = Number(this._svg.getAttribute("width")),
            e = Math.floor(0.5 * t),
            n = Math.floor(0.5 * t),
            o = "";
          (o += this._pathCmdLine(0, n, t, n)),
            (o += this._pathCmdLine(e, 0, e, t)),
            this._grid.setAttribute("d", o);
        }),
        (p.prototype._drawPoint = function () {
          var t = Number(this._svg.getAttribute("width")),
            e = this._obj[this._key],
            n = (0.5 + 0.5 * e[0]) * t,
            o = (0.5 + 0.5 * -e[1]) * t,
            i = "";
          (i += this._pathCmdLine(0, o, t, o)),
            (i += this._pathCmdLine(n, 0, n, t)),
            this._path.setAttribute("d", i),
            this._handle.setAttribute(
              "transform",
              "translate(" + n + " " + o + ")"
            );
        }),
        (p.prototype._getMouseNormalized = function () {
          var t = this._svgPos,
            e = i.get().getPosition(),
            n = Number(this._svg.getAttribute("width"));
          return [
            (Math.max(0, Math.min(e[0] - t[0], n)) / n) * 2 - 1,
            1 - (Math.max(0, Math.min(e[1] - t[1], n)) / n) * 2,
          ];
        }),
        (p.prototype.applyValue = function () {
          this.dispatchEvent(new r(this, s.VALUE_UPDATED, null));
        }),
        (p.prototype.onValueUpdate = function (t) {
          t.data.origin != this && this._drawValue(this._obj[this._key]);
        }),
        (t.exports = p);
    },
    66716: (t, e, n) => {
      var o = n(70858),
        i = n(13424),
        r = n(36735),
        a = n(36177),
        s = n(21074),
        l = n(69819),
        h = n(81231);
      function p(t) {
        var e = (this._node = new o().setStyleClass(i.Picker)),
          n = (this._headNode = new o().setStyleClass(i.Head)),
          a = new o().setStyleClass(i.Wrap),
          s = new o().setStyleClass(i.Label),
          l = new o().setStyleClass(i.Menu),
          p = new o().setStyleClass(i.Wrap),
          d = new o(o.INPUT_BUTTON);
        d.setStyleClass(i.ButtonMenuClose);
        var u = new o().setStyleClass(i.PickerFieldWrap),
          A = new o().setStyleClass(i.SliderWrap),
          c = new o().setStyleClass(i.PickerInputWrap),
          g = (this._canvasField = document.createElement("canvas")),
          b = (this._canvasSlider = document.createElement("canvas"));
        u.getElement().appendChild(g),
          A.getElement().appendChild(b),
          this._setSizeCanvasField(154, 154),
          this._setSizeCanvasSlider(14, 154);
        var v = (this._contextCanvasField = g.getContext("2d")),
          f = (this._contextCanvasSlider = b.getContext("2d")),
          y = (this._handleField = new o());
        y.setStyleClass(i.PickerHandleField);
        var _ = (this._handleSlider = new o());
        _.setStyleClass(i.PickerHandleSlider);
        var E = this._onInputHueChange.bind(this),
          C = this._onInputSatChange.bind(this),
          w = this._onInputValChange.bind(this),
          x = this._onInputRChange.bind(this),
          m = this._onInputGChange.bind(this),
          S = this._onInputBChange.bind(this),
          T = (this._inputHue = new r(1, 0, null, E)),
          N = (this._inputSat = new r(1, 0, null, C)),
          P = (this._inputVal = new r(1, 0, null, w)),
          L = (this._inputR = new r(1, 0, null, x)),
          V = (this._inputG = new r(1, 0, null, m)),
          B = (this._inputB = new r(1, 0, null, S)),
          I = new o().setStyleClass(i.PickerControlsWrap),
          G = new o(o.INPUT_BUTTON)
            .setStyleClass(i.Button)
            .setProperty("value", "pick"),
          O = new o(o.INPUT_BUTTON)
            .setStyleClass(i.Button)
            .setProperty("value", "cancel"),
          H = new o().setStyleClass(i.PickerColorContrast),
          K = (this._colorCurrNode = new o()),
          R = (this._colorPrevNode = new o());
        H.addChild(K),
          H.addChild(R),
          I.addChild(O),
          I.addChild(G),
          I.addChild(H),
          this._setContrasPrevColor(0, 0, 0);
        var D = new o().setStyleClass(i.PickerInputField),
          U = new o().setStyleClass(i.PickerInputField),
          k = new o().setStyleClass(i.PickerInputField),
          Y = new o(o.SPAN)
            .setStyleClass(i.Label)
            .setProperty("innerHTML", "H"),
          Z = new o(o.SPAN)
            .setStyleClass(i.Label)
            .setProperty("innerHTML", "S"),
          M = new o(o.SPAN)
            .setStyleClass(i.Label)
            .setProperty("innerHTML", "V");
        D.addChildren(Y, T.getNode()),
          U.addChildren(Z, N.getNode()),
          k.addChildren(M, P.getNode());
        var X = new o().setStyleClass(i.PickerInputField),
          z = new o().setStyleClass(i.PickerInputField),
          Q = new o().setStyleClass(i.PickerInputField),
          F = new o(o.SPAN)
            .setStyleClass(i.Label)
            .setProperty("innerHTML", "R"),
          q = new o(o.SPAN)
            .setStyleClass(i.Label)
            .setProperty("innerHTML", "G"),
          W = new o(o.SPAN)
            .setStyleClass(i.Label)
            .setProperty("innerHTML", "B");
        X.addChildren(F, L.getNode()),
          z.addChildren(q, V.getNode()),
          Q.addChildren(W, B.getNode()),
          c.addChildren(X, D, z, U, Q, k, H);
        var j = new o();
        j.setStyleClass(i.PickerInputWrap);
        var J = (this._inputHEX = new o(o.INPUT_TEXT)),
          $ = new o().setStyleClass(i.PickerInputField),
          tt = new o(o.SPAN).setStyleClass(i.Label);
        tt.setProperty("innerHTML", "#"),
          $.addChildren(tt, J),
          j.addChild($),
          J.addEventListener(h.CHANGE, this._onInputHEXFinish.bind(this)),
          s.setProperty("innerHTML", "Color Picker"),
          l.addChild(d),
          n.addChild(l),
          a.addChild(s),
          n.addChild(a),
          e.addChild(n),
          e.addChild(p),
          p.addChild(u),
          p.addChild(A),
          p.addChild(c),
          p.addChild(j),
          p.addChild(I),
          u.addChild(y),
          A.addChild(_);
        var et = h.MOUSE_DOWN,
          nt = this._onCanvasFieldMouseDown.bind(this);
        u.addEventListener(et, nt),
          y.addEventListener(et, nt),
          (nt = this._onCanvasSliderMouseDown.bind(this)),
          A.addEventListener(et, nt),
          _.addEventListener(et, nt),
          d.addEventListener(et, this._onClose.bind(this)),
          G.addEventListener(et, this._onPick.bind(this)),
          O.addEventListener(et, this._onClose.bind(this)),
          n.addEventListener(h.MOUSE_DOWN, this._onHeadDragStart.bind(this)),
          (this._parentNode = t),
          (this._mouseOffset = [0, 0]),
          (this._position = [null, null]),
          (this._canvasSliderPos = [0, 0]),
          (this._canvasFieldPos = [0, 0]),
          (this._handleFieldSize = 12),
          (this._handleSliderHeight = 7),
          (this._imageDataSlider = f.createImageData(b.width, b.height)),
          (this._imageDataField = v.createImageData(g.width, g.height)),
          (this._valueHueMinMax = [0, 360]),
          (this._valueSatMinMax = this._valueValMinMax = [0, 100]),
          (this._valueRGBMinMax = [0, 255]),
          (this._valueHue = 200),
          (this._valueSat = 50),
          (this._valueVal = 50),
          (this._valueR = 0),
          (this._valueG = 0),
          (this._valueB = 0),
          (this._valueHEX = "#000000"),
          (this._valueHEXValid = this._valueHEX),
          (this._callbackPick = function () {}),
          this._drawCanvasField(),
          this._drawCanvasSlider(),
          this._setColorHSV(this._valueHue, this._valueSat, this._valueVal),
          this._updateColorRGBFromHSV(),
          this._updateColorHEXFromRGB(),
          this._updateHandles();
      }
      (p.prototype = {
        _drawHandleField: function () {
          var t = this._canvasField,
            e = this._canvasFieldPos,
            n = a.get().getPosition(),
            o = Math.max(0, Math.min(n[0] - e[0], t.width)),
            i = Math.max(0, Math.min(n[1] - e[1], t.height)),
            r = o / t.width,
            s = i / t.height,
            l = Math.round(r * this._valueSatMinMax[1]),
            h = Math.round((1 - s) * this._valueValMinMax[1]);
          this._setColorHSV(this._valueHue, l, h),
            this._updateColorRGBFromHSV(),
            this._updateColorHEXFromRGB(),
            this._updateHandleField();
        },
        _updateHandleField: function () {
          var t = this._canvasField.width,
            e = this._canvasField.height,
            n = 0.25 * this._handleFieldSize,
            o = this._valueSat / this._valueSatMinMax[1],
            i = this._valueVal / this._valueValMinMax[1];
          this._handleField.setPositionGlobal(o * t - n, (1 - i) * e - n);
        },
        _drawHandleSlider: function () {
          var t = this._canvasSlider,
            e = this._canvasSliderPos[1],
            n = a.get().getY(),
            o = Math.max(0, Math.min(n - e, t.height)) / t.height,
            i = Math.floor((1 - o) * this._valueHueMinMax[1]);
          this._setColorHSV(i, this._valueSat, this._valueVal),
            this._updateColorRGBFromHSV(),
            this._updateColorHEXFromRGB(),
            this._updateHandleSlider();
        },
        _updateHandleSlider: function () {
          var t = this._canvasSlider.height,
            e = 0.25 * this._handleSliderHeight,
            n = this._valueHue / this._valueHueMinMax[1];
          this._handleSlider.setPositionGlobalY((t - e) * (1 - n));
        },
        _updateHandles: function () {
          this._updateHandleField(), this._updateHandleSlider();
        },
        _setHue: function (t) {
          var e = this._valueHueMinMax;
          (this._valueHue = t == e[1] ? e[0] : t),
            this._updateColorHSV(),
            this._drawCanvasField();
        },
        _setSat: function (t) {
          (this._valueSat = Math.round(t)), this._updateColorHSV();
        },
        _setVal: function (t) {
          (this._valueVal = Math.round(t)), this._updateColorHSV();
        },
        _setR: function (t) {
          (this._valueR = Math.round(t)), this._updateColorRGB();
        },
        _setG: function (t) {
          (this._valueG = Math.round(t)), this._updateColorRGB();
        },
        _setB: function (t) {
          (this._valueB = Math.round(t)), this._updateColorRGB();
        },
        _onInputHueChange: function () {
          var t = this._inputHue,
            e = this._getValueContrained(t, this._valueHueMinMax),
            n = this._valueHueMinMax;
          e == n[1] && ((e = n[0]), t.setValue(e)),
            this._setHue(e),
            this._updateColorRGBFromHSV(),
            this._updateColorHEXFromRGB(),
            this._updateHandleSlider(),
            this._drawCanvasField();
        },
        _onInputSatChange: function () {
          this._setSat(
            this._getValueContrained(this._inputSat, this._valueSatMinMax)
          ),
            this._onInputSVChange();
        },
        _onInputValChange: function () {
          this._setVal(
            this._getValueContrained(this._inputVal, this._valueValMinMax)
          ),
            this._onInputSVChange();
        },
        _onInputRChange: function () {
          this._setR(
            this._getValueContrained(this._inputR, this._valueRGBMinMax)
          ),
            this._onInputRGBChange();
        },
        _onInputGChange: function () {
          this._setG(
            this._getValueContrained(this._inputG, this._valueRGBMinMax)
          ),
            this._onInputRGBChange();
        },
        _onInputBChange: function () {
          this._setB(
            this._getValueContrained(this._inputB, this._valueRGBMinMax)
          ),
            this._onInputRGBChange();
        },
        _onInputHEXFinish: function () {
          var t = this._inputHEX,
            e = t.getProperty("value");
          s.isValidHEX(e)
            ? ((this._valueHEX = this._valueHEXValid = e),
              this._updateColorFromHEX())
            : t.setProperty("value", this._valueHEXValid);
        },
        _onInputSVChange: function () {
          this._updateColorRGBFromHSV(),
            this._updateColorHEXFromRGB(),
            this._updateHandleField();
        },
        _onInputRGBChange: function () {
          this._updateColorHSVFromRGB(),
            this._updateColorHEXFromRGB(),
            this._updateHandles();
        },
        _getValueContrained: function (t, e) {
          var n = Math.round(t.getValue()),
            o = e[0],
            i = e[1];
          return (
            n <= o && ((n = o), t.setValue(n)),
            n >= i && ((n = i), t.setValue(n)),
            n
          );
        },
        _updateInputHue: function () {
          this._inputHue.setValue(this._valueHue);
        },
        _updateInputSat: function () {
          this._inputSat.setValue(this._valueSat);
        },
        _updateInputVal: function () {
          this._inputVal.setValue(this._valueVal);
        },
        _updateInputR: function () {
          this._inputR.setValue(this._valueR);
        },
        _updateInputG: function () {
          this._inputG.setValue(this._valueG);
        },
        _updateInputB: function () {
          this._inputB.setValue(this._valueB);
        },
        _updateInputHEX: function () {
          this._inputHEX.setProperty("value", this._valueHEX);
        },
        _setColorHSV: function (t, e, n) {
          (this._valueHue = t),
            (this._valueSat = e),
            (this._valueVal = n),
            this._updateInputHue(),
            this._updateInputSat(),
            this._updateInputVal(),
            this._updateContrastCurrColor();
        },
        _setColorRGB: function (t, e, n) {
          (this._valueR = t),
            (this._valueG = e),
            (this._valueB = n),
            this._updateInputR(),
            this._updateInputG(),
            this._updateInputB(),
            this._updateContrastCurrColor();
        },
        _setColorHEX: function (t) {
          (this._valueHEX = t), this._updateInputHEX();
        },
        _updateColorHSV: function () {
          this._setColorHSV(this._valueHue, this._valueSat, this._valueVal),
            this._updateContrastCurrColor();
        },
        _updateColorRGB: function () {
          this._setColorRGB(this._valueR, this._valueG, this._valueB),
            this._updateContrastCurrColor();
        },
        _updateColorHSVFromRGB: function () {
          var t = s.RGB2HSV(this._valueR, this._valueG, this._valueB);
          this._setColorHSV(t[0], t[1], t[2]);
        },
        _updateColorRGBFromHSV: function () {
          var t = s.HSV2RGB(this._valueHue, this._valueSat, this._valueVal);
          this._setColorRGB(t[0], t[1], t[2]);
        },
        _updateColorHEXFromRGB: function () {
          var t = s.RGB2HEX(this._valueR, this._valueG, this._valueB);
          this._setColorHEX(t);
        },
        _updateColorFromHEX: function () {
          var t = s.HEX2RGB(this._valueHEX);
          this._setColorRGB(t[0], t[1], t[2]),
            this._updateColorHSVFromRGB(),
            this._updateHandles();
        },
        _updateContrastCurrColor: function () {
          this._setContrastCurrColor(this._valueR, this._valueG, this._valueB);
        },
        _updateContrastPrevColor: function () {
          this._setContrasPrevColor(this._valueR, this._valueG, this._valueB);
        },
        _setContrastCurrColor: function (t, e, n) {
          this._colorCurrNode.setStyleProperty(
            "background",
            "rgb(" + t + "," + e + "," + n + ")"
          );
        },
        _setContrasPrevColor: function (t, e, n) {
          this._colorPrevNode.setStyleProperty(
            "background",
            "rgb(" + t + "," + e + "," + n + ")"
          );
        },
        _onHeadDragStart: function () {
          var t = this._node,
            e = this._parentNode,
            n = t.getPositionGlobal(),
            o = a.get().getPosition(),
            i = this._mouseOffset;
          (i[0] = o[0] - n[0]), (i[1] = o[1] - n[1]);
          var r = l.MOUSE_MOVE,
            s = l.MOUSE_UP,
            h = this,
            p = function () {
              h._updatePosition(), h._updateCanvasNodePositions();
            },
            d = function () {
              h._updateCanvasNodePositions(),
                document.removeEventListener(r, p, !1),
                document.removeEventListener(s, d, !1);
            };
          e.removeChild(t),
            e.addChild(t),
            document.addEventListener(r, p, !1),
            document.addEventListener(s, d, !1),
            this._updateCanvasNodePositions();
        },
        _updatePosition: function () {
          var t = a.get().getPosition(),
            e = this._mouseOffset,
            n = t[0] - e[0],
            o = t[1] - e[1],
            i = this._node,
            r = this._headNode,
            s = this._position,
            l = window.innerWidth - i.getWidth(),
            h = window.innerHeight - r.getHeight();
          (s[0] = Math.max(0, Math.min(n, l))),
            (s[1] = Math.max(0, Math.min(o, h))),
            i.setPositionGlobal(s[0], s[1]);
        },
        _drawCanvasField: function () {
          for (
            var t,
              e = this._canvasField,
              n = this._contextCanvasField,
              o = e.width,
              i = e.height,
              r = 1 / o,
              a = 1 / i,
              l = this._imageDataField,
              h = [],
              p = 0,
              d = this._valueHue,
              u = -1;
            ++u < i;

          )
            for (t = -1; ++t < o; )
              (h = s.HSV2RGB(d, t * r * 100, 100 * (1 - u * a))),
                (p = 4 * (u * o + t)),
                (l.data[p] = h[0]),
                (l.data[p + 1] = h[1]),
                (l.data[p + 2] = h[2]),
                (l.data[p + 3] = 255);
          n.putImageData(l, 0, 0);
        },
        _drawCanvasSlider: function () {
          for (
            var t,
              e = this._canvasSlider,
              n = this._contextCanvasSlider,
              o = e.width,
              i = e.height,
              r = 1 / i,
              a = this._imageDataSlider,
              l = [],
              h = 0,
              p = -1;
            ++p < i;

          )
            for (t = -1; ++t < o; )
              (l = s.HSV2RGB(360 * (1 - p * r), 100, 100)),
                (h = 4 * (p * o + t)),
                (a.data[h] = l[0]),
                (a.data[h + 1] = l[1]),
                (a.data[h + 2] = l[2]),
                (a.data[h + 3] = 255);
          n.putImageData(a, 0, 0);
        },
        _onCanvasFieldMouseDown: function () {
          var t = l.MOUSE_MOVE,
            e = l.MOUSE_UP,
            n = this,
            o = function () {
              n._drawHandleField();
            },
            i = function () {
              document.removeEventListener(t, o, !1),
                document.removeEventListener(e, i, !1);
            };
          document.addEventListener(t, o, !1),
            document.addEventListener(e, i, !1),
            n._drawHandleField();
        },
        _onCanvasSliderMouseDown: function () {
          var t = l.MOUSE_MOVE,
            e = l.MOUSE_UP,
            n = this,
            o = function () {
              n._drawHandleSlider(), n._drawCanvasField();
            },
            i = function () {
              document.removeEventListener(t, o, !1),
                document.removeEventListener(e, i, !1),
                n._drawCanvasField();
            };
          document.addEventListener(t, o, !1),
            document.addEventListener(e, i, !1),
            n._drawHandleSlider(),
            n._drawCanvasField();
        },
        _setSizeCanvasField: function (t, e) {
          var n = this._canvasField;
          (n.style.width = t + "px"),
            (n.style.height = e + "px"),
            (n.width = t),
            (n.height = e);
        },
        _setSizeCanvasSlider: function (t, e) {
          var n = this._canvasSlider;
          (n.style.width = t + "px"),
            (n.style.height = e + "px"),
            (n.width = t),
            (n.height = e);
        },
        open: function () {
          var t = this._node;
          this._parentNode.addChild(t);
          var e = this._position;
          null === e[0] || null === e[1]
            ? ((e[0] = 0.5 * window.innerWidth - 0.5 * t.getWidth()),
              (e[1] = 0.5 * window.innerHeight - 0.5 * t.getHeight()))
            : ((e[0] = Math.max(
                0,
                Math.min(e[0], window.innerWidth - t.getWidth())
              )),
              (e[1] = Math.max(
                0,
                Math.min(e[1], window.innerHeight - t.getHeight())
              ))),
            t.setPositionGlobal(e[0], e[1]),
            this._updateCanvasNodePositions();
        },
        close: function () {
          this._parentNode.removeChild(this._node);
        },
        _onClose: function (t) {
          (t.cancelBubble = !0), this.close();
        },
        _onPick: function () {
          this._callbackPick(), this.close();
        },
        _updateCanvasNodePositions: function () {
          var t = this._canvasSliderPos,
            e = this._canvasFieldPos;
          (t[0] = t[1] = 0), (e[0] = e[1] = 0);
          for (var n = this._canvasSlider; n; )
            (t[0] += n.offsetLeft), (t[1] += n.offsetTop), (n = n.offsetParent);
          for (n = this._canvasField; n; )
            (e[0] += n.offsetLeft), (e[1] += n.offsetTop), (n = n.offsetParent);
        },
        setCallbackPick: function (t) {
          this._callbackPick = t;
        },
        setColorHEX: function (t) {
          this._setColorHEX(t), this._updateColorFromHEX(), this._setColor();
        },
        setColorRGB: function (t, e, n) {
          this._setColorRGB(t, e, n),
            this._updateColorHEXFromRGB(),
            this._updateColorHSVFromRGB(),
            this._setColor();
        },
        setColorRGBfv: function (t, e, n) {
          this.setColorRGB(
            Math.floor(255 * t),
            Math.floor(255 * e),
            Math.floor(255 * n)
          );
        },
        setColorHSV: function (t, e, n) {
          this._setColorHSV(t, e, n),
            this._updateColorRGBFromHSV(),
            this._updateColorHEXFromRGB(),
            this._setColor();
        },
        _setColor: function () {
          this._drawCanvasField(),
            this._drawCanvasSlider(),
            this._updateHandles(),
            this._setContrasPrevColor(this._valueR, this._valueG, this._valueB);
        },
        getR: function () {
          return this._valueR;
        },
        getG: function () {
          return this._valueG;
        },
        getB: function () {
          return this._valueB;
        },
        getRGB: function () {
          return [this._valueR, this._valueG, this._valueB];
        },
        getHue: function () {
          return this._valueHue;
        },
        getSat: function () {
          return this._valueSat;
        },
        getVal: function () {
          return this._valueVal;
        },
        getHSV: function () {
          return [this._valueHue, this._valueSat, this._valueVal];
        },
        getHEX: function () {
          return this._valueHEX;
        },
        getRGBfv: function () {
          return [this._valueR / 255, this._valueG / 255, this._valueB / 255];
        },
        getNode: function () {
          return this._node;
        },
      }),
        (p.setup = function (t) {
          return (p._instance = new p(t));
        }),
        (p.get = function () {
          return p._instance;
        }),
        (p.destroy = function () {
          p._instance = null;
        }),
        (t.exports = p);
    },
    78427: (t, e, n) => {
      var o = n(24968);
      function i(t, e, n, i) {
        ((i = i || {}).lineWidth = i.lineWidth || 2),
          (i.lineColor = i.lineColor || [255, 255, 255]),
          o.apply(this, arguments);
        var r = (this._lineWidth = i.lineWidth),
          a = i.lineColor,
          s = (this._grid = this._svgRoot.appendChild(
            this._createSVGObject("path")
          ));
        s.style.stroke = "rgb(26,29,31)";
        var l = (this._path = this._svgRoot.appendChild(
          this._createSVGObject("path")
        ));
        (l.style.stroke = "rgb(" + a[0] + "," + a[1] + "," + a[2] + ")"),
          (l.style.strokeWidth = r),
          (l.style.fill = "none");
      }
      (i.prototype = Object.create(o.prototype)),
        (i.prototype.constructor = i),
        (t.exports = i);
    },
    89239: (t, e, n) => {
      var o = n(32884),
        i = n(70858),
        r = n(36735),
        a = n(13424),
        s = n(47261),
        l = n(33925);
      function h(t, e, n, s) {
        o.apply(this, arguments),
          ((s = s || {}).onChange = s.onChange || this._onChange),
          (s.step = s.step || 1),
          (s.dp = null != s.dp ? s.dp : 2),
          (this._onChange = s.onChange);
        var l = (this._step = s.step),
          h = (this._dp = s.dp),
          p = new i(),
          d = (this._inputMin = new r(
            l,
            h,
            this.pushHistoryState.bind(this),
            this._onInputMinChange.bind(this)
          )),
          u = new i(),
          A = (this._inputMax = new r(
            l,
            h,
            this.pushHistoryState.bind(this),
            this._onInputMaxChange.bind(this)
          )),
          c = new i().setStyleClass(a.Wrap),
          g = new i().setStyleClass(a.Wrap),
          b = new i().setStyleClass(a.Wrap),
          v = new i().setStyleClass(a.Wrap);
        p.setStyleClass(a.Label).setProperty("innerHTML", "MIN"),
          u.setStyleClass(a.Label).setProperty("innerHTML", "MAX");
        var f = this._obj[this._key];
        d.setValue(f[0]), A.setValue(f[1]);
        var y = this._wrapNode;
        c.addChild(p),
          g.addChild(d.getNode()),
          b.addChild(u),
          v.addChild(A.getNode()),
          y.addChild(c),
          y.addChild(g),
          y.addChild(b),
          y.addChild(v);
      }
      (h.prototype = Object.create(o.prototype)),
        (h.prototype.constructor = h),
        (h.prototype._onInputChange = function () {
          this.dispatchEvent(new s(this, l.VALUE_UPDATED, null)),
            this._onChange();
        }),
        (h.prototype._updateValueMin = function () {
          var t = this._obj[this._key],
            e = this._inputMin,
            n = e.getValue();
          n >= this._inputMax.getValue() ? e.setValue(t[0]) : (t[0] = n);
        }),
        (h.prototype._updateValueMax = function () {
          var t = this._obj[this._key],
            e = this._inputMax,
            n = e.getValue();
          n <= this._inputMin.getValue() ? e.setValue(t[1]) : (t[1] = n);
        }),
        (h.prototype.onValueUpdate = function (t) {
          if (t.data.origin != this) {
            t.data.origin;
            var e = this._obj,
              n = this._key;
            this._inputMin.setValue(e[n][0]), this._inputMax.setValue(e[n][1]);
          }
        }),
        (h.prototype.setValue = function (t) {
          var e = this._obj,
            n = this._key;
          (e[n][0] = t[0]),
            (e[n][1] = t[1]),
            this.dispatchEvent(new s(this, l.VALUE_UPDATED, null));
        }),
        (h.prototype._onInputMinChange = function () {
          this._updateValueMin(), this._onInputChange();
        }),
        (h.prototype._onInputMaxChange = function () {
          this._updateValueMax(), this._onInputChange();
        }),
        (t.exports = h);
    },
    50060: (t, e, n) => {
      var o = n(40930),
        i = n(13424),
        r = n(35226),
        a = n(47282);
      function s(t, e) {
        o.apply(this, arguments);
        var n = this._wrapNode;
        n.setStyleClass(i.CanvasWrap);
        var r = n.getWidth(),
          s = (this._svg = this._createSVGObject("svg"));
        s.setAttribute("version", "1.2"),
          s.setAttribute("baseProfile", "tiny"),
          s.setAttribute("preserveAspectRatio", "true"),
          n.getElement().appendChild(s),
          this._svgSetSize(r, r),
          this._updateHeight(),
          this._node.setStyleClass(i.CanvasListItem),
          this._parent.addEventListener(
            a.GROUP_SIZE_CHANGE,
            this,
            "onGroupSizeChange"
          ),
          this.addEventListener(
            a.GROUP_SIZE_UPDATE,
            this._parent,
            "onGroupSizeUpdate"
          );
      }
      (s.prototype = Object.create(o.prototype)),
        (s.prototype.constructor = s),
        (s.prototype._updateHeight = function () {
          var t = Number(this._svg.getAttribute("height"));
          this._wrapNode.setHeight(t),
            this._node.setHeight(t + r.PADDING_WRAPPER);
        }),
        (s.prototype.onGroupSizeChange = function () {
          var t = this._wrapNode.getWidth();
          this._svgSetSize(t, t), this._updateHeight();
        }),
        (s.prototype._svgSetSize = function (t, e) {
          var n = this._svg;
          n.setAttribute("width", t),
            n.setAttribute("height", e),
            n.setAttribute("viewbox", "0 0 " + t + " " + e);
        }),
        (s.prototype.getSVG = function () {
          return this._svg;
        }),
        (t.exports = s);
    },
    24968: (t, e, n) => {
      var o = n(32884),
        i = n(13424),
        r = n(47282),
        a = n(35226);
      function s(t, e, n, a) {
        o.apply(this, arguments);
        var s = this._wrapNode;
        s.setStyleClass(i.SVGWrap);
        var l = s.getWidth(),
          h = (this._svg = this._createSVGObject("svg"));
        h.setAttribute("version", "1.2"),
          h.setAttribute("baseProfile", "tiny"),
          s.getElement().appendChild(h);
        var p = (this._svgRoot = h.appendChild(this._createSVGObject("g")));
        p.setAttribute("transform", "translate(0.5 0.5)"),
          this._svgSetSize(l, l),
          this._updateHeight(),
          this._node.setStyleClass(i.SVGListItem),
          this._parent.addEventListener(
            r.GROUP_SIZE_CHANGE,
            this,
            "onGroupSizeChange"
          ),
          this.addEventListener(
            r.GROUP_SIZE_UPDATE,
            this._parent,
            "onGroupSizeUpdate"
          );
      }
      (s.prototype = Object.create(o.prototype)),
        (s.prototype.constructor = s),
        (s.prototype._updateHeight = function () {
          var t = Number(this._svg.getAttribute("height"));
          this._wrapNode.setHeight(t),
            this._node.setHeight(t + a.PADDING_WRAPPER);
        }),
        (s.prototype._redraw = function () {}),
        (s.prototype.onGroupSizeChange = function () {
          var t = this._wrapNode.getWidth();
          this._svgSetSize(t, t), this._updateHeight(), this._redraw();
        }),
        (s.prototype._createSVGObject = function (t) {
          return document.createElementNS("http://www.w3.org/2000/svg", t);
        }),
        (s.prototype._svgSetSize = function (t, e) {
          var n = this._svg;
          n.setAttribute("width", t),
            n.setAttribute("height", e),
            n.setAttribute("viewbox", "0 0 " + t + " " + e);
        }),
        (s.prototype._pathCmdMoveTo = function (t, e) {
          return "M " + t + " " + e + " ";
        }),
        (s.prototype._pathCmdLineTo = function (t, e) {
          return "L " + t + " " + e + " ";
        }),
        (s.prototype._pathCmdClose = function () {
          return "Z";
        }),
        (s.prototype._pathCmdLine = function (t, e, n, o) {
          return "M " + t + " " + e + " L " + n + " " + o;
        }),
        (s.prototype._pathCmdBezierCubic = function (
          t,
          e,
          n,
          o,
          i,
          r,
          a,
          s,
          l
        ) {
          return (
            "M " +
            e +
            " " +
            n +
            " C " +
            o +
            " " +
            i +
            ", " +
            r +
            " " +
            a +
            ", " +
            s +
            " " +
            l
          );
        }),
        (s.prototype._pathCmdBezierQuadratic = function (t, e, n, o, i, r, a) {
          return "M " + e + " " + n + " Q " + o + " " + i + ", " + r + " " + a;
        }),
        (t.exports = s);
    },
    55453: (t, e, n) => {
      var o = n(32884),
        i = n(70858),
        r = n(13424),
        a = n(83211),
        s = n(18468),
        l = n(47261),
        h = n(81231),
        p = n(33925),
        d = n(72519),
        u = n(81796),
        A = "Choose ...";
      function c(t, e, n, a) {
        o.apply(this, arguments),
          ((a = a || {}).onChange = a.onChange || this._onChange),
          (this._onChange = a.onChange);
        var s = this._obj,
          l = this._key,
          p = (this._targetKey = a.target),
          c = (this._values = s[l]);
        (this._selectedIndex = -1), (this._selected = null);
        var g = (this._select = new i(i.INPUT_BUTTON));
        if (
          (g.setStyleClass(r.Select),
          g.addEventListener(h.MOUSE_DOWN, this._onOptionTrigger.bind(this)),
          this._hasTarget())
        ) {
          for (var b = s[p] || "", v = -1; ++v < c.length; )
            b == c[v] && (this._selected = c[v]);
          g.setProperty("value", b.toString().length > 0 ? b : c[0]);
        } else g.setProperty("value", a.selected ? c[a.selected] : A);
        this._wrapNode.addChild(g),
          u.get().addEventListener(d.TRIGGER, this, "onOptionTrigger"),
          this.addEventListener(d.TRIGGERED, u.get(), "onOptionTriggered");
      }
      (c.prototype = Object.create(o.prototype)),
        (c.prototype.constructor = c),
        (c.prototype.onOptionTrigger = function (t) {
          if (t.data.origin == this)
            return (
              (this._active = !this._active),
              this._updateAppearance(),
              void (this._active ? this._buildOptions() : a.get().clear())
            );
          (this._active = !1), this._updateAppearance();
        }),
        (c.prototype._buildOptions = function () {
          var t = a.get(),
            e = this;
          t.build(
            this._values,
            this._selected,
            this._select,
            function () {
              e.applyValue(),
                (e._active = !1),
                e._updateAppearance(),
                (e._selectedIndex = t.getSelectedIndex()),
                e._onChange(e._selectedIndex),
                t.clear();
            },
            function () {
              (e._active = !1), e._updateAppearance(), t.clear();
            },
            !1
          );
        }),
        (c.prototype._applySelected = function (t) {
          this._select.setProperty("value", t),
            this.dispatchEvent(new l(this, p.VALUE_UPDATED), null);
        }),
        (c.prototype.applyValue = function () {
          var t = a.get().getSelectedIndex(),
            e = (this._selected = this._values[t]);
          this._hasTarget() &&
            (this.pushHistoryState(), (this._obj[this._targetKey] = e)),
            this._applySelected(e);
        }),
        (c.prototype.pushHistoryState = function () {
          var t = this._obj,
            e = this._targetKey;
          s.get().pushState(t, e, t[e]);
        }),
        (c.prototype._onOptionTrigger = function () {
          this.dispatchEvent(new l(this, d.TRIGGERED, null));
        }),
        (c.prototype._updateAppearance = function () {
          this._select.setStyleClass(this._active ? r.SelectActive : r.Select);
        }),
        (c.prototype.onValueUpdate = function (t) {
          this._hasTarget() &&
            ((this._selected = this._obj[this._targetKey]),
            this._select.setProperty("value", this._selected.toString()));
        }),
        (c.prototype._hasTarget = function () {
          return null != this._targetKey;
        }),
        (c.prototype.setValue = function (t) {
          if (((this._selectedIndex = t), -1 == t))
            return (
              (this._selected = null), void this._select.setProperty("value", A)
            );
          (this._selected = this._values[this._selectedIndex]),
            this._applySelected(this._selected);
        }),
        (c.prototype.getData = function () {
          var t = {};
          return (t.selectedIndex = this._selectedIndex), t;
        }),
        (t.exports = c);
    },
    98360: (t, e, n) => {
      var o = n(32884),
        i = n(13424),
        r = n(20013),
        a = n(18468),
        s = n(89239),
        l = n(36735),
        h = n(47261),
        p = n(69819),
        d = n(32076),
        u = n(47282),
        A = n(33925);
      function c(t, e, n, a, s) {
        ((s = s || {}).label = s.label || n),
          o.apply(this, [t, e, a, s]),
          (this._values = this._obj[this._key]),
          (this._targetKey = n),
          (s.step = s.step || 1),
          (s.dp = void 0 === s.dp || null == s.dp ? 2 : s.dp),
          (s.onChange = s.onChange || this._onChange),
          (s.onFinish = s.onFinish || function () {}),
          (this._dp = s.dp),
          (this._onChange = s.onChange),
          (this._onFinish = s.onFinish);
        var h = this._values,
          A = this._obj,
          c = this._targetKey,
          g = this._wrapNode;
        g.setStyleClass(i.WrapSlider);
        var b = (this._slider = new r(
          g,
          this._onSliderBegin.bind(this),
          this._onSliderMove.bind(this),
          this._onSliderEnd.bind(this)
        ));
        b.setBoundMax(h[1]), b.setBoundMin(h[0]), b.setValue(A[c]);
        var v = (this._input = new l(
          s.step,
          s.dp,
          null,
          this._onInputChange.bind(this)
        ));
        v.setValue(A[c]),
          g.addChild(v.getNode()),
          this._parent.addEventListener(
            d.PANEL_MOVE_END,
            this,
            "onPanelMoveEnd"
          ),
          this._parent.addEventListener(
            u.GROUP_SIZE_CHANGE,
            this,
            "onGroupWidthChange"
          ),
          this._parent.addEventListener(
            p.WINDOW_RESIZE,
            this,
            "onWindowResize"
          );
      }
      (c.prototype = Object.create(o.prototype)),
        (c.prototype.constructor = c),
        (c.prototype.pushHistoryState = function () {
          var t = this._obj,
            e = this._targetKey;
          a.get().pushState(t, e, t[e]);
        }),
        (c.prototype._onSliderBegin = function () {
          this.pushHistoryState();
        }),
        (c.prototype._onSliderMove = function () {
          this.applyValue(),
            this._updateValueField(),
            this.dispatchEvent(new h(this, A.VALUE_UPDATED, null)),
            this._onChange();
        }),
        (c.prototype._onSliderEnd = function () {
          this.applyValue(),
            this._updateValueField(),
            this.dispatchEvent(new h(this, A.VALUE_UPDATED, null)),
            this._onFinish();
        }),
        (c.prototype._onInputChange = function () {
          var t = this._input,
            e = this._values[0],
            n = this._values[1];
          t.getValue() >= n && t.setValue(n),
            t.getValue() <= e && t.setValue(e);
          var o = t.getValue();
          this._slider.setValue(o),
            (this._obj[this._targetKey] = o),
            this.dispatchEvent(new h(this, A.VALUE_UPDATED, null)),
            this._onFinish();
        }),
        (c.prototype.applyValue = function () {
          var t = this._slider.getValue();
          (this._obj[this._targetKey] = parseFloat(t.toFixed(this._dp))),
            this._input.setValue(t);
        }),
        (c.prototype.onValueUpdate = function (t) {
          var e = t.data.origin;
          if (e != this) {
            var n = this._slider;
            if (e instanceof c) n.setValue(this._obj[this._targetKey]);
            else {
              var o = this._values;
              n.setBoundMin(o[0]),
                n.setBoundMax(o[1]),
                e instanceof s || n.setValue(this._obj[this._targetKey]);
            }
            this.applyValue();
          }
        }),
        (c.prototype._updateValueField = function () {
          this._input.setValue(this._slider.getValue());
        }),
        (c.prototype.onPanelMoveEnd =
          c.prototype.onGroupWidthChange =
          c.prototype.onWindowResize =
            function () {
              this._slider.resetOffset();
            }),
        (c.prototype.setValue = function (t) {
          -1 != t &&
            ((this._obj[this._targetKey] = t),
            this.dispatchEvent(new h(this, A.VALUE_UPDATED, null)));
        }),
        (c.prototype.getData = function () {
          var t = {};
          return (t[this._targetKey] = this._obj[this._targetKey]), t;
        }),
        (t.exports = c);
    },
    20013: (t, e, n) => {
      var o = n(70858),
        i = n(69819),
        r = n(81231),
        a = n(13424),
        s = n(36177);
      function l(t, e, n, s) {
        (this._bounds = [0, 1]),
          (this._value = 0),
          (this._intrpl = 0),
          (this._focus = !1),
          (this._onBegin = e || function () {}),
          (this._onChange = n || function () {}),
          (this._onFinish = s || function () {});
        var l = new o().setStyleClass(a.SliderWrap);
        t.addChild(l);
        var h = (this._slot = {
            node: new o().setStyleClass(a.SliderSlot),
            offsetX: 0,
            width: 0,
            padding: 3,
          }),
          p = (this._handle = {
            node: new o().setStyleClass(a.SliderHandle),
            width: 0,
            dragging: !1,
          });
        l.addChild(h.node),
          h.node.addChild(p.node),
          (h.offsetX = h.node.getPositionGlobalX()),
          (h.width = Math.floor(h.node.getWidth() - 2 * h.padding)),
          p.node.setWidth(p.width),
          h.node.addEventListener(
            r.MOUSE_DOWN,
            this._onSlotMouseDown.bind(this)
          ),
          h.node.addEventListener(r.MOUSE_UP, this._onSlotMouseUp.bind(this)),
          document.addEventListener(
            i.MOUSE_MOVE,
            this._onDocumentMouseMove.bind(this)
          ),
          document.addEventListener(
            i.MOUSE_UP,
            this._onDocumentMouseUp.bind(this)
          );
      }
      (l.prototype._onDocumentMouseMove = function () {
        this._handle.dragging && (this._update(), this._onChange());
      }),
        (l.prototype._onDocumentMouseUp = function () {
          this._handle.dragging && this._onFinish(),
            (this._handle.dragging = !1);
        }),
        (l.prototype._onSlotMouseDown = function () {
          this._onBegin(),
            (this._focus = !0),
            (this._handle.dragging = !0),
            this._handle.node.getElement().focus(),
            this._update(),
            this._onChange();
        }),
        (l.prototype._onSlotMouseUp = function () {
          if (this._focus) {
            var t = this._handle;
            t.dragging && this._onFinish(), (t.dragging = !1);
          }
          this._focus = !1;
        }),
        (l.prototype._update = function () {
          var t = s.get().getX(),
            e = this._slot.node._element.getBoundingClientRect().x,
            n = this._slot.node.getWidth() - 6;
          (px = t < e ? 0 : t > e + n ? n : t - e),
            this._handle.node.setWidth(Math.round(px)),
            (this._intrpl = px / n),
            this._interpolateValue();
        }),
        (l.prototype._updateHandle = function () {
          var t = this._slot.width,
            e = Math.round(this._intrpl * t);
          this._handle.node.setWidth(Math.min(e, t));
        }),
        (l.prototype._interpolateValue = function () {
          var t = this._intrpl,
            e = this._bounds;
          this._value = e[0] * (1 - t) + e[1] * t;
        }),
        (l.prototype.resetOffset = function () {
          var t = this._slot;
          (t.offsetX = t.node.getPositionGlobalX()),
            (t.width = Math.floor(t.node.getWidth() - 2 * t.padding));
        }),
        (l.prototype.setBoundMin = function (t) {
          var e = this._bounds;
          t >= e[1] || ((e[0] = t), this._updateFromBounds());
        }),
        (l.prototype.setBoundMax = function (t) {
          var e = this._bounds;
          t <= e[0] || ((e[1] = t), this._updateFromBounds());
        }),
        (l.prototype._updateFromBounds = function () {
          var t = this._bounds[0],
            e = this._bounds[1];
          (this._value = Math.max(t, Math.min(this._value, e))),
            (this._intrpl = Math.abs((this._value - t) / (t - e))),
            this._updateHandle();
        }),
        (l.prototype.setValue = function (t) {
          var e = this._bounds[0],
            n = this._bounds[1];
          t < e ||
            t > n ||
            ((this._intrpl = Math.abs((t - e) / (e - n))),
            this._updateHandle(),
            (this._value = t));
        }),
        (l.prototype.getValue = function () {
          return this._value;
        }),
        (t.exports = l);
    },
    42670: (t, e, n) => {
      var o = n(32884),
        i = n(70858),
        r = n(13424),
        a = n(83211),
        s = n(12410),
        l = n(35226),
        h = n(47261),
        p = n(69819),
        d = n(81231),
        u = n(33925);
      function A(t, e, n, h) {
        o.apply(this, arguments),
          ((h = h || {}).onChange = h.onChange || this._onChange),
          (h.presets = h.presets || null),
          (this._onChange = h.onChange);
        var p = (this._input = new i(i.INPUT_TEXT)),
          A = this._wrapNode,
          c = h.presets;
        if (c) {
          var g = new i();
          g.setStyleClass(r.WrapInputWPreset), A.addChild(g), g.addChild(p);
          var b = a.get(),
            v = new s(this._wrapNode),
            f = function () {
              b.clear(), v.deactivate();
            },
            y = this,
            _ = function () {
              b.build(
                c,
                p.getProperty("value"),
                p,
                function () {
                  p.setProperty("value", c[b.getSelectedIndex()]),
                    y.pushHistoryState(),
                    y.applyValue();
                },
                f,
                l.PADDING_PRESET,
                !1
              );
            };
          v.setOnActive(_), v.setOnDeactive(f);
        } else A.addChild(p);
        p.setProperty("value", this._obj[this._key]),
          p.addEventListener(d.KEY_UP, this._onInputKeyUp.bind(this)),
          p.addEventListener(d.CHANGE, this._onInputChange.bind(this)),
          p.addEventListener(d.MOUSE_DOWN, this._onInputDragStart.bind(this)),
          this.addEventListener(
            u.INPUT_SELECT_DRAG,
            this._parent,
            "onComponentSelectDrag"
          );
      }
      (A.prototype = Object.create(o.prototype)),
        (A.prototype.constructor = A),
        (A.prototype._onInputKeyUp = function (t) {
          this._keyIsChar(t.keyCode) && this.pushHistoryState(),
            this.applyValue(),
            this._onChange();
        }),
        (A.prototype._onInputChange = function (t) {
          this._keyIsChar(t.keyCode) && this.pushHistoryState(),
            this.applyValue();
        }),
        (A.prototype._keyIsChar = function (t) {
          return (
            17 != t &&
            18 != t &&
            20 != t &&
            37 != t &&
            38 != t &&
            39 != t &&
            40 != t &&
            16 != t
          );
        }),
        (A.prototype.applyValue = function () {
          (this._obj[this._key] = this._input.getProperty("value")),
            this.dispatchEvent(new h(this, u.VALUE_UPDATED, null));
        }),
        (A.prototype.onValueUpdate = function (t) {
          t.data.origin != this &&
            this._input.setProperty("value", this._obj[this._key]);
        }),
        (A.prototype._onInputDragStart = function () {
          var t = p.MOUSE_MOVE,
            e = p.MOUSE_UP,
            n = u.INPUT_SELECT_DRAG,
            o = this,
            i = function () {
              o.dispatchEvent(new h(this, n, null));
            },
            r = function () {
              o.dispatchEvent(new h(this, n, null)),
                document.removeEventListener(t, i, !1),
                document.removeEventListener(t, r, !1);
            };
          this.dispatchEvent(new h(this, n, null)),
            document.addEventListener(t, i, !1),
            document.addEventListener(e, r, !1);
        }),
        (t.exports = A);
    },
    57174: (t, e, n) => {
      var o = n(35992);
      (StringOutput = function (t, e, n, i) {
        o.apply(this, arguments);
      }),
        (StringOutput.prototype = Object.create(o.prototype)),
        (StringOutput.prototype.constructor = StringOutput),
        (StringOutput.prototype._setValue = function () {
          if (!this._parent.isDisabled()) {
            var t = this._obj[this._key];
            if (t != this._prevString) {
              var e,
                n = this._textArea,
                o = n.getElement();
              n.setProperty("value", t), (e = o.scrollHeight), n.setHeight(e);
              var i = this._scrollBar;
              i &&
                (e <= this._wrapNode.getHeight()
                  ? i.disable()
                  : (i.enable(), i.update(), i.reset())),
                (this._prevString = t);
            }
          }
        }),
        (t.exports = StringOutput);
    },
    59827: (t, e, n) => {
      var o = n(78427),
        i = n(35226);
      function r(t, e, n, r) {
        o.apply(this, arguments);
        var a = this._svg,
          s = Number(a.getAttribute("width")),
          l = Number(a.getAttribute("height"));
        ((r = r || {}).height = r.height || l),
          (r.resolution = r.resolution || 1);
        for (
          var h = r.resolution,
            p = Math.floor(s / h),
            d = (this._points = new Array(2 * p)),
            u = (this._buffer0 = new Array(p)),
            A = (this._buffer1 = new Array(p)),
            c = 0.5 * this._lineWidth,
            g = -1;
          ++g < p;

        )
          u[g] = A[g] = d[2 * g] = d[2 * g + 1] = c;
        (this._height = r.height =
          r.height < i.COMPONENT_MIN_HEIGHT
            ? i.COMPONENT_MIN_HEIGHT
            : r.height),
          this._svgSetSize(l, Math.floor(r.height)),
          (this._grid.style.stroke = "rgb(39,44,46)"),
          this._updateHeight(),
          this._drawValue();
      }
      (r.prototype = Object.create(o.prototype)),
        (r.prototype.constructor = r),
        (r.prototype._redraw = function () {
          for (
            var t = this._points,
              e = this._buffer0.length,
              n = Number(this._svg.getAttribute("width")),
              o = n / (e - 1),
              i = -1;
            ++i < e;

          )
            t[2 * i] = n - i * o;
          this._drawValue();
        }),
        (r.prototype.onGroupSizeChange = function () {
          var t = this._wrapNode.getWidth(),
            e = this._height;
          this._svgSetSize(t, e),
            this._updateHeight(),
            this._drawGrid(),
            this._redraw();
        }),
        (r.prototype._drawValue = function () {
          this._drawCurve();
        }),
        (r.prototype._drawGrid = function () {
          var t = this._svg,
            e = Number(t.getAttribute("width")),
            n = Math.floor(0.5 * Number(t.getAttribute("height"))),
            o = "";
          (o += this._pathCmdMoveTo(0, n)),
            (o += this._pathCmdLineTo(e, n)),
            this._grid.setAttribute("d", o);
        }),
        (r.prototype._drawCurve = function () {
          var t = this._svg,
            e = this._obj[this._key],
            n = this._buffer0,
            o = this._buffer1,
            i = this._points,
            r = n.length,
            a = "",
            s = 0.5 * Number(t.getAttribute("height")),
            l = s - 0.5 * this._lineWidth;
          (i[1] = n[0]),
            (n[r - 1] = e * l * -1 + Math.floor(s)),
            (a += this._pathCmdMoveTo(i[0], i[1]));
          for (var h, p = 0; ++p < r; )
            (h = 2 * p),
              (o[p - 1] = n[p]),
              (i[h + 1] = n[p - 1] = o[p - 1]),
              (a += this._pathCmdLineTo(i[h], i[h + 1]));
          this._path.setAttribute("d", a);
        }),
        (r.prototype.update = function () {
          this._parent.isDisabled() || this._drawValue();
        }),
        (t.exports = r);
    },
    40930: (t, e, n) => {
      var o = n(70858),
        i = n(13424),
        r = n(14652),
        a = n(33925);
      function s(t, e) {
        r.apply(this, arguments),
          (e.label = t.usesLabels() ? e.label : "none"),
          (this._parent = t),
          (this._enabled = !0);
        var n = (this._node = new o(o.LIST_ITEM)),
          s = (this._wrapNode = new o());
        if (
          (s.setStyleClass(i.Wrap),
          n.addChild(s),
          (e.ratio = e.ratio || getParentRatio(t)),
          e.ratio && s.setStyleProperty("width", e.ratio + "%"),
          void 0 !== e.label)
        ) {
          if (0 != e.label.length && "none" != e.label) {
            var l = (this._lablNode = new o(o.SPAN));
            l.setStyleClass(i.Label),
              l.setProperty("innerHTML", e.label),
              e.ratio && l.setStyleProperty("width", 100 - e.ratio + "%"),
              n.addChild(l);
          }
          "none" == e.label &&
            (s.setStyleProperty("marginLeft", "0"),
            s.setStyleProperty("width", "100%"));
        }
        this._parent.addEventListener(a.ENABLE, this, "onEnable"),
          this._parent.addEventListener(a.DISABLE, this, "onDisable"),
          this._parent.addComponentNode(n);
      }
      (s.prototype = Object.create(r.prototype)),
        (s.prototype.constructor = s),
        (s.prototype.enable = function () {
          this._enabled = !0;
        }),
        (s.prototype.disable = function () {
          this._enabled = !1;
        }),
        (s.prototype.isEnabled = function () {
          return this._enabled;
        }),
        (s.prototype.isDisabled = function () {
          return !this._enabled;
        }),
        (s.prototype.onEnable = function () {
          this.enable();
        }),
        (s.prototype.onDisable = function () {
          this.disable();
        }),
        (getParentRatio = function (t) {
          for (; !t._ratio && t._parent; ) t = t._parent;
          return t._ratio;
        }),
        (t.exports = s);
    },
    33925: (t) => {
      t.exports = {
        VALUE_UPDATED: "valueUpdated",
        UPDATE_VALUE: "updateValue",
        INPUT_SELECT_DRAG: "inputSelectDrag",
        ENABLE: "enable",
        DISABLE: "disable",
      };
    },
    84657: (t) => {
      function e(t, n) {
        Error.apply(this),
          Error.captureStackTrace(this, e),
          (this.name = "ComponentObjectError"),
          (this.message =
            "Object of type " +
            t.constructor.name +
            " has no member " +
            n +
            ".");
      }
      (e.prototype = Object.create(Error.prototype)),
        (e.prototype.constructor = e),
        (t.exports = e);
    },
    18468: (t, e, n) => {
      var o = n(14652),
        i = n(47261),
        r = n(56204);
      function a() {
        o.apply(this, arguments), (this._states = []), (this._enabled = !1);
      }
      (a.prototype = Object.create(o.prototype)),
        (a.prototype.constructor = a),
        (a.prototype.pushState = function (t, e, n) {
          if (!this._enabled) {
            var o = this._states;
            o.length >= 30 && o.shift(),
              o.push({ object: t, key: e, value: n }),
              this.dispatchEvent(new i(this, r.STATE_PUSH, null));
          }
        }),
        (a.prototype.getState = function (t, e) {
          var n,
            o,
            i = this._states,
            r = i.length;
          if (0 == r) return null;
          for (var a = -1; ++a < r; )
            if ((n = i[a]).object === t && n.key === e) {
              o = n.value;
              break;
            }
          return o;
        }),
        (a.prototype.popState = function () {
          if (!this._enabled) {
            var t = this._states;
            if (!(t.length < 1)) {
              var e = t.pop();
              (e.object[e.key] = e.value),
                this.dispatchEvent(new i(this, r.STATE_POP, null));
            }
          }
        }),
        (a.prototype.getNumStates = function () {
          return this._states.length;
        }),
        (a._instance = null),
        (a.setup = function () {
          return (a._instance = new a());
        }),
        (a.get = function () {
          return a._instance;
        }),
        (a.prototype.enable = function () {
          this._enabled = !1;
        }),
        (a.prototype.disable = function () {
          this._enabled = !0;
        }),
        (t.exports = a);
    },
    56204: (t) => {
      t.exports = {
        STATE_PUSH: "historyStatePush",
        STATE_POP: "historyStatePop",
      };
    },
    32884: (t, e, n) => {
      var o = n(18468),
        i = n(40930),
        r = n(33925),
        a = n(81796),
        s = n(84657),
        l = n(47261);
      function h(t, e, n, o) {
        if (void 0 === e[n]) throw new s(e, n);
        ((o = o || {}).label = o.label || n),
          i.apply(this, [t, o]),
          (this._obj = e),
          (this._key = n),
          (this._onChange = function () {}),
          a.get().addEventListener(r.UPDATE_VALUE, this, "onValueUpdate"),
          this.addEventListener(r.VALUE_UPDATED, a.get(), "onValueUpdated");
      }
      (h.prototype = Object.create(i.prototype)),
        (h.prototype.constructor = h),
        (h.prototype.applyValue = function () {}),
        (h.prototype.onValueUpdate = function (t) {}),
        (h.prototype.pushHistoryState = function () {
          var t = this._obj,
            e = this._key;
          o.get().pushState(t, e, t[e]);
        }),
        (h.prototype.setValue = function (t) {
          (this._obj[this._key] = t),
            this.dispatchEvent(new l(this, r.VALUE_UPDATED, null));
        }),
        (h.prototype.getData = function () {
          var t = {};
          return (t[this._key] = this._obj[this._key]), t;
        }),
        (t.exports = h);
    },
    81796: (t, e, n) => {
      var o = n(14652),
        i = n(47261),
        r = n(33925),
        a = n(72519);
      function s() {
        o.apply(this);
      }
      (s.prototype = Object.create(o.prototype)),
        (s.prototype.constructor = s),
        (s.prototype.onValueUpdated = function (t) {
          this.dispatchEvent(new i(this, r.UPDATE_VALUE, { origin: t.sender }));
        }),
        (s.prototype.onOptionTriggered = function (t) {
          this.dispatchEvent(new i(this, a.TRIGGER, { origin: t.sender }));
        });
      var l = null;
      (s.get = function () {
        return l || (l = new s()), l;
      }),
        (s.destroy = function () {
          l = null;
        }),
        (t.exports = s);
    },
    72519: (t) => {
      t.exports = { TRIGGERED: "selectTrigger", TRIGGER: "triggerSelect" };
    },
    29126: (t) => {
      function e() {
        var t = window.open(
          "",
          "",
          "        width=320,        height=200,        left=" +
            (window.screenX + 0.5 * window.innerWidth - 160) +
            ",        top=" +
            (window.screenY + 0.5 * window.innerHeight - 100) +
            ",        location=0,        titlebar=0,        resizable=0"
        );
        return (
          (t.document.documentElement.innerHTML =
            '<head>\n   <title>ControlKit State</title>\n   <style type="text/css">\n      body{\n          box-sizing: border-box;\n          padding: 20px;\n          margin: 0;\n          font-family: Arial, sans-serif;\n          width: 100%;\n      }\n      textarea{\n          margin-bottom:10px;\n          box-sizing: border-box;\n          padding: 0;\n          border: 0;\n          border: 1px solid #dedede;\n          outline: none;\n          font-family: Monaco, monospace;\n          font-size: 11px;\n          resize: none;\n          word-wrap: break-word;\n          display: block;\n          width: 100%;\n          overflow-y: scroll;\n          height: 125px;\n      }\n      button{\n          margin: 0;\n          padding: 0 5px 3px 5px;\n          height: 20px;\n      }\n      #save,#filename,#load{\n          float: right;\n      }\n      input[type="text"]{\n          margin: 0;\n          padding: 0;\n          width: 45%;\n          height:20px;\n      }\n   </style>\n</head>\n<body>\n   <textarea name="state" id="state"></textarea>\n</body>'),
          t
        );
      }
      t.exports = {
        load: function (t) {
          var n = e(),
            o = n.document;
          o.body.innerHTML +=
            '<input type="file" id="load-disk"></button><button type="button" id="load">Load</button>';
          var i = o.getElementById("state"),
            r = o.getElementById("load");
          function a() {
            try {
              var t = JSON.parse(i.value);
              t && "object" == typeof t && null !== t && (r.disabled = !1);
            } catch (t) {
              r.disabled = !0;
            }
          }
          (r.disabled = !0),
            i.addEventListener("input", function () {
              a();
            }),
            o.getElementById("load").addEventListener("click", function () {
              var e = i.value;
              t(JSON.parse(e).data), n.close();
            });
          var s = o.getElementById("load-disk");
          s.addEventListener("change", function () {
            var t = new FileReader();
            t.addEventListener("loadend", function (t) {
              (i.value = t.target.result), a();
            }),
              t.readAsText(s.files[0], "utf-8");
          });
        },
        save: function (t) {
          var n = e().document;
          (n.body.innerHTML +=
            '<button type="button" id="save">Save</button>\n<input type="text" id="filename" value="ck-state.json"></input>'),
            n.getElementById("save").addEventListener("click", function () {
              var t = n.getElementById("state").value,
                e = new Blob([t], { type: "application:json" }),
                o = n.getElementById("filename").value,
                i = document.createElement("a");
              (i.download = o),
                window.webkitURL
                  ? (i.href = window.webkitURL.createObjectURL(e))
                  : ((i.href = window.createObjectURL(e)),
                    (i.style.display = "none"),
                    i.addEventListener("click", function () {
                      n.body.removeChild(i);
                    }),
                    n.body.appendChild(i)),
                i.click();
            }),
            (n.getElementById("state").innerText = JSON.stringify(t));
        },
      };
    },
    72222: (t) => {
      function e(t) {
        Error.apply(this),
          Error.captureStackTrace(this, e),
          (this.name = "ColorFormatError"),
          (this.message = t);
      }
      (e.prototype = Object.create(Error.prototype)),
        (e.prototype.constructor = e),
        (t.exports = e);
    },
    89433: (t) => {
      t.exports = { RGB: "rgb", HSV: "hsv", HEX: "hex", RGBfv: "rgbfv" };
    },
    21074: (t) => {
      var e = {
        HSV2RGB: function (t, e, n) {
          if (
            ((t %= 360),
            (n = (Math.max(0, Math.min(n, 100)) / 100) * 255),
            e <= 0)
          )
            return [(n = Math.round(n)), n, n];
          e > 100 && (e = 100), (e /= 100);
          var o = Math.floor(t / 60) % 6,
            i = t / 60 - o,
            r = n * (1 - e),
            a = n * (1 - i * e),
            s = n * (1 - (1 - i) * e),
            l = 0,
            h = 0,
            p = 0;
          switch (o) {
            case 0:
              (l = n), (h = s), (p = r);
              break;
            case 1:
              (l = a), (h = n), (p = r);
              break;
            case 2:
              (l = r), (h = n), (p = s);
              break;
            case 3:
              (l = r), (h = a), (p = n);
              break;
            case 4:
              (l = s), (h = r), (p = n);
              break;
            case 5:
              (l = n), (h = r), (p = a);
          }
          return [
            (l = Math.round(l)),
            (h = Math.round(h)),
            (p = Math.round(p)),
          ];
        },
        RGB2HSV: function (t, e, n) {
          var o = 0;
          (t /= 255), (e /= 255), (n /= 255);
          var i = Math.min(t, Math.min(e, n)),
            r = Math.max(t, Math.max(e, n));
          if (i == r) return (o = i), [0, 0, Math.round(o)];
          var a = t == i ? e - n : n == i ? t - e : n - t,
            s = t == i ? 3 : n == i ? 1 : 5;
          return [
            Math.round(60 * (s - a / (r - i))),
            Math.round(((r - i) / r) * 100),
            (o = Math.round(100 * r)),
          ];
        },
        RGB2HEX: function (t, e, n) {
          return (
            "#" + ((1 << 24) + (t << 16) + (e << 8) + n).toString(16).slice(1)
          );
        },
        RGBfv2HEX: function (t, n, o) {
          return e.RGB2HEX(
            Math.floor(255 * t),
            Math.floor(255 * n),
            Math.floor(255 * o)
          );
        },
        HSV2HEX: function (t, e, n) {
          var o = ControlKit.ColorUtil.HSV2RGB(t, e, n);
          return ControlKit.ColorUtil.RGB2HEX(o[0], o[1], o[2]);
        },
        HEX2RGB: function (t) {
          t = t.replace(
            /^#?([a-f\d])([a-f\d])([a-f\d])$/i,
            function (t, e, n, o) {
              return e + e + n + n + o + o;
            }
          );
          var e = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);
          return e
            ? [parseInt(e[1], 16), parseInt(e[2], 16), parseInt(e[3], 16)]
            : null;
        },
        isValidHEX: function (t) {
          return /^#[0-9A-F]{6}$/i.test(t);
        },
        isValidRGB: function (t, e, n) {
          return t >= 0 && t <= 255 && e >= 0 && e <= 255 && n >= 0 && n <= 255;
        },
        isValidRGBfv: function (t, e, n) {
          return t >= 0 && t <= 1 && e >= 0 && e <= 1 && n >= 0 && n <= 1;
        },
      };
      t.exports = e;
    },
    13424: (t) => {
      t.exports = {
        ControlKit: "controlKit",
        Panel: "panel",
        Head: "head",
        Label: "label",
        Menu: "menu",
        Wrap: "wrap",
        ButtonMenuClose: "button-menu-close",
        ButtonMenuHide: "button-menu-hide",
        ButtonMenuShow: "button-menu-show",
        ButtonMenuUndo: "button-menu-undo",
        ButtonMenuLoad: "button-menu-load",
        ButtonMenuSave: "button-menu-save",
        MenuActive: "menu-active",
        Button: "button",
        ButtonPreset: "button-preset",
        ButtonPresetActive: "button-preset-active",
        WrapInputWPreset: "input-with-preset-wrap",
        WrapColorWPreset: "color-with-preset-wrap",
        HeadInactive: "head-inactive",
        PanelHeadInactive: "panel-head-inactive",
        GroupList: "group-list",
        Group: "group",
        SubGroupList: "sub-group-list",
        SubGroup: "sub-group",
        TextAreaWrap: "textarea-wrap",
        WrapSlider: "wrap-slider",
        SliderWrap: "slider-wrap",
        SliderSlot: "slider-slot",
        SliderHandle: "slider-handle",
        ArrowBMin: "arrow-b-min",
        ArrowBMax: "arrow-b-max",
        ArrowBSubMin: "arrow-b-sub-min",
        ArrowBSubMax: "arrow-b-sub-max",
        ArrowSMin: "arrow-s-min",
        ArrowSMax: "arrow-s-max",
        Select: "select",
        SelectActive: "select-active",
        Options: "options",
        OptionsSelected: "li-selected",
        CanvasListItem: "canvas-list-item",
        CanvasWrap: "canvas-wrap",
        SVGListItem: "svg-list-item",
        SVGWrap: "svg-wrap",
        GraphSliderXWrap: "graph-slider-x-wrap",
        GraphSliderYWrap: "graph-slider-y-wrap",
        GraphSliderX: "graph-slider-x",
        GraphSliderY: "graph-slider-y",
        GraphSliderXHandle: "graph-slider-x-handle",
        GraphSliderYHandle: "graph-slider-y-handle",
        Picker: "picker",
        PickerFieldWrap: "field-wrap",
        PickerInputWrap: "input-wrap",
        PickerInputField: "input-field",
        PickerControlsWrap: "controls-wrap",
        PickerColorContrast: "color-contrast",
        PickerHandleField: "indicator",
        PickerHandleSlider: "indicator",
        Color: "color",
        ScrollBar: "scrollBar",
        ScrollWrap: "scroll-wrap",
        ScrollBarBtnUp: "btnUp",
        ScrollBarBtnDown: "btnDown",
        ScrollBarTrack: "track",
        ScrollBarThumb: "thumb",
        ScrollBuffer: "scroll-buffer",
      };
    },
    69819: (t) => {
      t.exports = {
        MOUSE_MOVE: "mousemove",
        MOUSE_UP: "mouseup",
        MOUSE_DOWN: "mousedown",
        MOUSE_WHEEL: "mousewheel",
        WINDOW_RESIZE: "resize",
      };
    },
    36177: (t, e, n) => {
      var o = n(14652),
        i = n(47261),
        r = n(69819),
        a = null;
      function s() {
        o.apply(this),
          (this._pos = [0, 0]),
          (this._wheelDirection = 0),
          (this._hoverElement = null);
        var t = this;
        (this._onDocumentMouseMove = function (e) {
          var n = 0,
            o = 0;
          e || (e = window.event),
            e.pageX
              ? ((n = e.pageX), (o = e.pageY))
              : e.clientX &&
                ((n =
                  e.clientX +
                  document.body.scrollLeft +
                  document.documentElement.scrollLeft),
                (o =
                  e.clientY +
                  document.body.scrollTop +
                  document.documentElement.scrollTop)),
            (t._pos[0] = n),
            (t._pos[1] = o),
            (t._hoverElement = document.elementFromPoint(n, o));
        }),
          (this._onDocumentMouseWheel = function (e) {
            (t._wheelDirection = e.detail < 0 || e.wheelDelta > 0 ? 1 : -1),
              t.dispatchEvent(new i(t, r.MOUSE_WHEEL, e));
          }),
          document.addEventListener(r.MOUSE_MOVE, this._onDocumentMouseMove),
          document.addEventListener(r.MOUSE_WHEEL, this._onDocumentMouseWheel);
      }
      (s.prototype = Object.create(o.prototype)),
        (s.prototype.constructor = s),
        (s.prototype._removeDocumentListener = function () {
          document.removeEventListener(r.MOUSE_MOVE, this._onDocumentMouseMove),
            document.removeEventListener(
              r.MOUSE_WHEEL,
              this._onDocumentMouseWheel
            );
        }),
        (s.prototype.getPosition = function () {
          return this._pos;
        }),
        (s.prototype.getX = function () {
          return this._pos[0];
        }),
        (s.prototype.getY = function () {
          return this._pos[1];
        }),
        (s.prototype.getWheelDirection = function () {
          return this._wheelDirection;
        }),
        (s.prototype.getHoverElement = function () {
          return this._hoverElement;
        }),
        (s.setup = function () {
          return (a = a || new s());
        }),
        (s.get = function () {
          return a;
        }),
        (s.destroy = function () {
          a._removeDocumentListener(), (a = null);
        }),
        (t.exports = s);
    },
    70858: (t) => {
      function e() {
        switch (((this._element = null), arguments.length)) {
          case 1:
            var t = arguments[0];
            t != e.INPUT_TEXT &&
            t != e.INPUT_BUTTON &&
            t != e.INPUT_SELECT &&
            t != e.INPUT_CHECKBOX
              ? (this._element = document.createElement(t))
              : ((this._element = document.createElement("input")),
                (this._element.type = t));
            break;
          case 0:
            this._element = document.createElement("div");
        }
      }
      (e.DIV = "div"),
        (e.INPUT_TEXT = "text"),
        (e.INPUT_BUTTON = "button"),
        (e.INPUT_SELECT = "select"),
        (e.INPUT_CHECKBOX = "checkbox"),
        (e.OPTION = "option"),
        (e.LIST = "ul"),
        (e.LIST_ITEM = "li"),
        (e.SPAN = "span"),
        (e.TEXTAREA = "textarea"),
        (e.prototype = {
          addChild: function (t) {
            return this._element.appendChild(t.getElement()), t;
          },
          addChildren: function () {
            for (var t = -1, e = arguments.length, n = this._element; ++t < e; )
              n.appendChild(arguments[t].getElement());
            return this;
          },
          addChildAt: function (t, e) {
            return (
              this._element.insertBefore(
                t.getElement(),
                this._element.children[e]
              ),
              t
            );
          },
          removeChild: function (t) {
            return this.contains(t)
              ? (this._element.removeChild(t.getElement()), t)
              : null;
          },
          removeChildren: function () {
            for (var t = -1, e = arguments.length, n = this._element; ++t < e; )
              n.removeChild(arguments[t].getElement());
            return this;
          },
          removeChildAt: function (t, e) {
            return this.contains(t)
              ? (this._element.removeChild(t.getElement()), t)
              : null;
          },
          removeAllChildren: function () {
            for (var t = this._element; t.hasChildNodes(); )
              t.removeChild(t.lastChild);
            return this;
          },
          setWidth: function (t) {
            return (this._element.style.width = t + "px"), this;
          },
          getWidth: function () {
            return this._element.offsetWidth;
          },
          setHeight: function (t) {
            return (this._element.style.height = t + "px"), this;
          },
          getHeight: function () {
            return this._element.offsetHeight;
          },
          setPosition: function (t, e) {
            return this.setPosition(t).setPosition(e);
          },
          setPositionX: function (t) {
            return (this._element.style.marginLeft = t + "px"), this;
          },
          setPositionY: function (t) {
            return (this._element.style.marginTop = t + "px"), this;
          },
          setPositionGlobal: function (t, e) {
            return this.setPositionGlobalX(t).setPositionGlobalY(e);
          },
          setPositionGlobalX: function (t) {
            return (this._element.style.left = t + "px"), this;
          },
          setPositionGlobalY: function (t) {
            return (this._element.style.top = t + "px"), this;
          },
          getPosition: function () {
            return [this.getPositionX(), this.getPositionY()];
          },
          getPositionX: function () {
            return this._element.offsetLeft;
          },
          getPositionY: function () {
            return this._element.offsetTop;
          },
          getPositionGlobal: function () {
            for (var t = [0, 0], e = this._element; e; )
              (t[0] += e.offsetLeft),
                (t[1] += e.offsetTop),
                (e = e.offsetParent);
            return t;
          },
          getPositionGlobalX: function () {
            for (var t = 0, e = this._element; e; )
              (t += e.offsetLeft), (e = e.offsetParent);
            return t;
          },
          getPositionGlobalY: function () {
            for (var t = 0, e = this._element; e; )
              (t += e.offsetTop), (e = e.offsetParent);
            return t;
          },
          addEventListener: function (t, e, n) {
            return this._element.addEventListener(t, e, n), this;
          },
          removeEventListener: function (t, e, n) {
            return this._element.removeEventListener(t, e, n), this;
          },
          dispatchEvent: function (t) {
            return this._element.dispatchEvent(t), this;
          },
          setStyleClass: function (t) {
            return (this._element.className = t), this;
          },
          setStyleProperty: function (t, e) {
            return (this._element.style[t] = e), this;
          },
          getStyleProperty: function (t) {
            return this._element.style[t];
          },
          setStyleProperties: function (t) {
            for (var e in t) this._element.style[e] = t[e];
            return this;
          },
          deleteStyleClass: function () {
            return (this._element.className = ""), this;
          },
          deleteStyleProperty: function (t) {
            return (this._element.style[t] = ""), this;
          },
          deleteStyleProperties: function (t) {
            for (var e in t) this._element.style[e] = "";
            return this;
          },
          getChildAt: function (t) {
            return new e().setElement(this._element.children[t]);
          },
          getChildIndex: function (t) {
            return this._indexOf(this._element, t.getElement());
          },
          getNumChildren: function () {
            return this._element.children.length;
          },
          getFirstChild: function () {
            return new e().setElement(this._element.firstChild);
          },
          getLastChild: function () {
            return new e().setElement(this._element.lastChild);
          },
          hasChildren: function () {
            return 0 != this._element.children.length;
          },
          contains: function (t) {
            return -1 != this._indexOf(this._element, t.getElement());
          },
          _indexOf: function (t, e) {
            return Array.prototype.indexOf.call(t.children, e);
          },
          setProperty: function (t, e) {
            return (this._element[t] = e), this;
          },
          setProperties: function (t) {
            for (var e in t) this._element[e] = t[e];
            return this;
          },
          getProperty: function (t) {
            return this._element[t];
          },
          setElement: function (t) {
            return (this._element = t), this;
          },
          getElement: function () {
            return this._element;
          },
          getStyle: function () {
            return this._element.style;
          },
          getParent: function () {
            return new e().setElement(this._element.parentNode);
          },
        }),
        (e.getNodeByElement = function (t) {
          return new e().setElement(t);
        }),
        (e.getNodeById = function (t) {
          return new e().setElement(document.getElementById(t));
        }),
        (t.exports = e);
    },
    81231: (t) => {
      t.exports = {
        MOUSE_DOWN: "mousedown",
        MOUSE_UP: "mouseup",
        MOUSE_OVER: "mouseover",
        MOUSE_MOVE: "mousemove",
        MOUSE_OUT: "mouseout",
        KEY_DOWN: "keydown",
        KEY_UP: "keyup",
        CHANGE: "change",
        FINISH: "finish",
        DBL_CLICK: "dblclick",
        ON_CLICK: "click",
        SELECT_START: "selectstart",
        DRAG_START: "dragstart",
        DRAG: "drag",
        DRAG_END: "dragend",
        DRAG_ENTER: "dragenter",
        DRAG_OVER: "dragover",
        DRAG_LEAVE: "dragleave",
        RESIZE: "resize",
      };
    },
    64958: (t) => {
      t.exports = {
        string:
          "#controlKit{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}#controlKit .panel{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;pointer-events:auto;position:relative;z-index:1;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden;opacity:1;float:left;width:200px;border-radius:3px;-moz-border-radius:3px;box-shadow:0 2px 2px rgba(0,0,0,.25);margin:0;padding:0;background-color:#1a1a1a;font-family:Arial,sans-serif}#controlKit .panel .wrap{width:auto;height:auto;margin:0;padding:0;position:relative;overflow:hidden}#controlKit .panel ul{margin:0;padding:0;list-style:none}#controlKit .panel .color,#controlKit .panel input[type=text],#controlKit .panel textarea,#controlKit .picker input[type=text]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;width:100%;height:25px;padding:0 0 0 8px;font-family:Arial,sans-serif;font-size:11px;color:#fff;text-shadow:1px 1px #000;outline:0;background:#222729;background-image:-o-linear-gradient(rgba(0,0,0,.075) 0,rgba(0,0,0,.125) 100%);background-image:linear-gradient(rgba(0,0,0,.075) 0,rgba(0,0,0,.125) 100%);border:none;box-shadow:0 0 0 1px #1f1f1f inset;border-radius:2px;-moz-border-radius:2px}#controlKit .panel .button,#controlKit .panel .select,#controlKit .panel .select-active,#controlKit .picker .button{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;cursor:pointer;width:100%;height:26px;margin:0;background-image:-o-linear-gradient(#404040 0,#3b3b3b 100%);background-image:linear-gradient(#404040 0,#3b3b3b 100%);border:none;outline:0;border-radius:2px;box-shadow:0 0 0 1px #1f1f1f inset,-1px 2px 0 0 #4a4a4a inset;font-family:Arial,sans-serif;color:#fff}#controlKit .panel textarea{padding:5px 8px 2px;overflow:hidden;resize:none;vertical-align:top;white-space:nowrap}#controlKit .panel .textarea-wrap{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;width:100%;padding:0;float:left;height:100%;overflow:hidden;border:none;border-radius:2px;-moz-border-radius:2px;background-color:#222729;box-shadow:0 0 1px 2px rgba(0,0,0,.0125) inset,0 0 1px 1px #111314 inset;background-image:-o-linear-gradient(rgba(0,0,0,.075) 0,rgba(0,0,0,.125) 100%);background-image:linear-gradient(rgba(0,0,0,.075) 0,rgba(0,0,0,.125) 100%)}#controlKit .panel .textarea-wrap textarea{border:none;border-radius:2px;-moz-border-radius:2px;box-shadow:none;background:0 0}#controlKit .panel .textarea-wrap .scrollBar{border:1px solid #101213;border-bottom-right-radius:2px;border-top-right-radius:2px;border-left:none;box-shadow:0 0 1px 2px rgba(0,0,0,.0125) inset,0 0 1px 1px #111314 inset}#controlKit .panel canvas{cursor:pointer;vertical-align:bottom;border:none;box-shadow:0 0 0 1px #1f1f1f inset;border-radius:2px;-moz-border-radius:2px}#controlKit .panel .canvas-wrap,#controlKit .panel .svg-wrap{margin:6px 0 0;position:relative;width:70%;float:right;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border:none;border-radius:2px;-moz-border-radius:2px;background:#1e2224;background-image:-o-linear-gradient(transparent 0,rgba(0,0,0,.05) 100%);background-image:linear-gradient(transparent 0,rgba(0,0,0,.05) 100%)}#controlKit .panel .canvas-wrap svg,#controlKit .panel .svg-wrap svg{position:absolute;left:0;top:0;cursor:pointer;vertical-align:bottom;border:none;box-shadow:0 0 0 1px #1f1f1f inset;border-radius:2px;-moz-border-radius:2px}#controlKit .panel .button,#controlKit .picker .button{font-size:10px;font-weight:700;text-shadow:0 1px #000;text-transform:uppercase}#controlKit .panel .button:hover,#controlKit .picker .button:hover{background-image:-o-linear-gradient(#454545 0,#3b3b3b 100%);background-image:linear-gradient(#454545 0,#3b3b3b 100%)}#controlKit .panel .button:active,#controlKit .picker .button:active{background-image:-o-linear-gradient(#404040 0,#3b3b3b 100%);background-image:linear-gradient(#404040 0,#3b3b3b 100%)}#controlKit .panel .color-with-preset-wrap,#controlKit .panel .input-with-preset-wrap{width:100%;float:left}#controlKit .panel .color-with-preset-wrap .color,#controlKit .panel .input-with-preset-wrap input[type=text]{padding-right:25px;border-top-right-radius:2px;border-bottom-right-radius:2px;float:left}#controlKit .panel .button-preset,#controlKit .panel .button-preset-active{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:absolute;right:0;width:20px;height:25px;margin:0;cursor:pointer;float:right;border:none;border-top-right-radius:2px;border-bottom-right-radius:2px;box-shadow:0 0 0 1px #1f1f1f inset,-1px 2px 0 0 #4a4a4a inset;outline:0}#controlKit .panel .button-preset-active,#controlKit .panel .button-preset:hover{background:url() 50% 50% no-repeat,linear-gradient(#454545 0,#3b3b3b 100%)}#controlKit .panel .button-preset{background:url() 50% 50% no-repeat,linear-gradient(#404040 0,#3b3b3b 100%)}#controlKit .panel input[type=checkbox]{margin:6px 0 0}#controlKit .panel .select,#controlKit .panel .select-active{padding-left:10px;padding-right:20px;font-size:11px;text-align:left;text-shadow:1px 1px #000;cursor:pointer;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}#controlKit .panel .select{background:url() 100% 50% no-repeat,linear-gradient(#404040 0,#3b3b3b 100%)}#controlKit .panel .select-active,#controlKit .panel .select:hover{background:url() 100% 50% no-repeat,linear-gradient(#454545 0,#3b3b3b 100%)}#controlKit .panel .slider-handle,#controlKit .panel .slider-slot,#controlKit .panel .slider-wrap,#controlKit .panel .wrap-slider{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#controlKit .panel .wrap-slider{width:70%;padding:6px 0 0;float:right;height:100%}#controlKit .panel .wrap-slider input[type=text]{width:25%;text-align:center;padding:0;float:right}#controlKit .panel .slider-wrap{float:left;cursor:ew-resize;width:70%}#controlKit .panel .slider-slot{width:100%;height:25px;padding:3px;background-color:#1e2224;border:none;box-shadow:0 0 0 1px #1f1f1f inset;border-radius:2px;-moz-border-radius:2px}#controlKit .panel .slider-handle{position:relative;width:100%;height:100%;background:#b32435;background-image:-o-linear-gradient(transparent 0,rgba(0,0,0,.1) 100%);background-image:linear-gradient(transparent 0,rgba(0,0,0,.1) 100%);box-shadow:0 1px 0 0 #0f0f0f}#controlKit .panel .color{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;width:100%;height:25px;padding:0;border:none;background:#fff;box-shadow:0 0 0 1px #111314 inset;text-align:center;line-height:25px;border-radius:2px;-moz-border-radius:2px}#controlKit .panel .graph-slider-x-wrap,#controlKit .panel .graph-slider-y-wrap{position:absolute;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#controlKit .panel .graph-slider-x-wrap{bottom:0;left:0;width:100%;padding:6px 20px 6px 6px}#controlKit .panel .graph-slider-y-wrap{top:0;right:0;height:100%;padding:6px 6px 20px}#controlKit .panel .graph-slider-x,#controlKit .panel .graph-slider-y{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border-radius:2px;-moz-border-radius:2px;background:rgba(24,27,29,.5);border:1px solid #181b1d}#controlKit .panel .graph-slider-x{height:8px}#controlKit .panel .graph-slider-y{width:8px;height:100%}#controlKit .panel .graph-slider-x-handle,#controlKit .panel .graph-slider-y-handle{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;cursor:pointer;border:1px solid #181b1d;background:#303639}#controlKit .panel .graph-slider-x-handle{width:20px;height:100%;border-top:none;border-bottom:none}#controlKit .panel .graph-slider-y-handle{width:100%;height:20px;border-left:none;border-right:none}#controlKit .sub-group .wrap .wrap .wrap{width:25%!important;padding:0!important;float:left!important}#controlKit .sub-group .wrap .wrap .wrap .label{width:100%!important;padding:8px 0 0!important;color:#878787!important;text-align:center!important;text-transform:uppercase!important;font-weight:700!important;text-shadow:1px 1px #1a1a1a!important}#controlKit .sub-group .wrap .wrap .wrap input[type=text]{padding:0;text-align:center}#controlKit .options{pointer-events:auto;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border:1px solid #1f1f1f;border-radius:2px;-moz-border-radius:2px;position:absolute;z-index:2147483638;left:0;top:0;width:auto;height:auto;box-shadow:0 1px 0 0 #4a4a4a inset;background-color:#454545;font-family:Arial,sans-serif;font-size:11px;color:#fff;text-shadow:1px 1px #000;overflow:hidden}#controlKit .options ul{width:100%;list-style:none;margin:0;padding:0}#controlKit .options ul li{margin:0;width:100%;height:25px;line-height:25px;padding:0 20px 0 10px;overflow:hidden;white-space:normal;text-overflow:ellipsis;cursor:pointer}#controlKit .options ul li:hover{background-color:#1f2325}#controlKit .options ul .li-selected{background-color:#292d30}#controlKit .options .color{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#controlKit .options .color .li-selected,#controlKit .options .color li{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0;height:25px;line-height:25px;text-align:center}#controlKit .options .color .li-selected:hover,#controlKit .options .color li:hover{background:0 0;font-weight:700}#controlKit .options .color .li-selected{font-weight:700}#controlKit .panel .label,#controlKit .picker .label{width:100%;float:left;font-size:11px;font-weight:700;text-shadow:0 1px #000;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;cursor:default}#controlKit .panel .head,#controlKit .panel .panel-head-inactive,#controlKit .picker .head{height:30px;padding:0 10px;background:#1a1a1a;overflow:hidden}#controlKit .panel .head .wrap,#controlKit .panel .panel-head-inactive .wrap,#controlKit .picker .head .wrap{width:auto;height:auto;margin:0;padding:0;position:relative;overflow:hidden}#controlKit .panel .head .label,#controlKit .picker .head .label{cursor:pointer;line-height:30px;color:#65696b}#controlKit .panel .group-list .group .head{height:38px;padding:0 10px;border-top:1px solid #4f4f4f;border-bottom:1px solid #262626;background-image:-o-linear-gradient(#454545 0,#3b3b3b 100%);background-image:linear-gradient(#454545 0,#3b3b3b 100%);cursor:pointer}#controlKit .panel .group-list .group .head .label{font-size:12px;line-height:38px;color:#fff}#controlKit .panel .group-list .group .head:hover{border-top:1px solid #525252;background-image:-o-linear-gradient(#454545 0,#404040 100%);background-image:linear-gradient(#454545 0,#404040 100%)}#controlKit .panel .group-list .group li{height:35px;padding:0 10px}#controlKit .panel .group-list .group .sub-group-list .sub-group:last-of-type{border-bottom:none}#controlKit .panel .group-list .group .sub-group-list .sub-group{padding:0;height:auto;border-bottom:1px solid #242424}#controlKit .panel .group-list .group .sub-group-list .sub-group ul{overflow:hidden}#controlKit .panel .group-list .group .sub-group-list .sub-group ul li{background:#2e2e2e;border-bottom:1px solid #222729}#controlKit .panel .group-list .group .sub-group-list .sub-group ul li:last-of-type{border-bottom:none}#controlKit .panel .group-list .group .sub-group-list .sub-group:first-child{margin-top:0}#controlKit .panel .group-list .group .sub-group-list .sub-group .head,#controlKit .panel .group-list .group .sub-group-list .sub-group .head-inactive{cursor:pointer}#controlKit .panel .group-list .group .sub-group-list .sub-group .head{height:27px;padding:0 10px;border-top:none;border-bottom:1px solid #242424;background-image:none;background-color:#272727}#controlKit .panel .group-list .group .sub-group-list .sub-group .head:hover{background-image:none;background-color:#272727}#controlKit .panel .group-list .group .sub-group-list .sub-group .head-inactive{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;height:27px;padding:0 10px;box-shadow:0 1px 0 0 #404040 inset;background-image:-o-linear-gradient(#3b3b3b 0,#383838 100%);background-image:linear-gradient(#3b3b3b 0,#383838 100%)}#controlKit .panel .group-list .group .sub-group-list .sub-group .head-inactive:hover{box-shadow:0 1px 0 0 #474747 inset;background-image:none;background-image:-o-linear-gradient(#404040 0,#3b3b3b 100%);background-image:linear-gradient(#404040 0,#3b3b3b 100%)}#controlKit .panel .group-list .group .sub-group-list .sub-group .head .label,#controlKit .panel .group-list .group .sub-group-list .sub-group .head-inactive .label{margin:0;padding:0;line-height:27px;color:#fff;font-weight:700;font-size:11px;text-shadow:1px 1px #000;text-transform:capitalize}#controlKit .panel .group-list .group .sub-group-list .sub-group .head .wrap .label,#controlKit .panel .group-list .group .sub-group-list .sub-group .head-inactive .wrap .label{width:100%;font-weight:700;color:#fff;padding:0}#controlKit .panel .group-list .group .sub-group-list .sub-group .wrap .label{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;height:100%;width:30%;padding:12px 5px 0 0;float:left;font-size:11px;font-weight:400;color:#aeb5b8;text-shadow:1px 1px #000}#controlKit .panel .group-list .group .sub-group-list .sub-group .wrap .wrap{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;width:70%;padding:5px 0 0;float:right;height:100%}#controlKit .panel .group-list .group:last-child .scroll-buffer:nth-of-type(3),#controlKit .panel .group-list .group:last-child .sub-group-list{border-bottom:none}#controlKit .panel .scroll-wrap{position:relative;overflow:hidden}#controlKit .panel .scroll-buffer{width:100%;height:8px;border-top:1px solid #3b4447;border-bottom:1px solid #1e2224}#controlKit .panel .scrollBar{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;width:15px;height:100%;float:right;top:0;padding:0;margin:0;position:relative;background:#212628;background-image:linear-gradient(to right,#242424 0,#2e2e2e 100%)}#controlKit .panel .scrollBar .track{padding:0 3px 0 2px}#controlKit .panel .scrollBar .track .thumb{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;width:11px;position:absolute;cursor:pointer;background-color:#343434;border:1px solid #1b1f21;border-radius:10px;-moz-border-radius:10px;box-shadow:inset 0 1px 0 0 #434b50}#controlKit .panel .menu,#controlKit .panel .menu-active,#controlKit .picker .menu{float:right;padding:5px 0 0}#controlKit .panel .menu input[type=button],#controlKit .panel .menu-active input[type=button],#controlKit .picker .menu input[type=button]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;cursor:pointer;height:20px;border:none;vertical-align:top;border-radius:2px;-moz-border-radius:2px;font-family:Arial,sans-serif;font-size:10px;font-weight:700;color:#aaa;text-shadow:0 -1px #000;text-transform:uppercase;box-shadow:0 0 0 1px #131313 inset,-1px 2px 0 0 #212527 inset;outline:0}#controlKit .panel .menu .button-menu-close,#controlKit .panel .menu .button-menu-hide,#controlKit .panel .menu .button-menu-show,#controlKit .panel .menu-active .button-menu-close,#controlKit .panel .menu-active .button-menu-hide,#controlKit .panel .menu-active .button-menu-show,#controlKit .picker .menu .button-menu-close,#controlKit .picker .menu .button-menu-hide,#controlKit .picker .menu .button-menu-show{width:20px;margin-left:4px}#controlKit .panel .menu .button-menu-hide,#controlKit .panel .menu-active .button-menu-hide,#controlKit .picker .menu .button-menu-hide{background:url() 50% 50% no-repeat,#1a1d1f}#controlKit .panel .menu .button-menu-hide:hover,#controlKit .panel .menu-active .button-menu-hide:hover,#controlKit .picker .menu .button-menu-hide:hover{background:url() 50% 50% no-repeat,#000;box-shadow:#fff 0,#000 100%}#controlKit .panel .menu .button-menu-show,#controlKit .panel .menu-active .button-menu-show,#controlKit .picker .menu .button-menu-show{background:url() 50% 50% no-repeat,#1a1d1f}#controlKit .panel .menu .button-menu-show:hover,#controlKit .panel .menu-active .button-menu-show:hover,#controlKit .picker .menu .button-menu-show:hover{background:url() 50% 50% no-repeat,#000;box-shadow:#fff 0,#000 100%}#controlKit .panel .menu .button-menu-close,#controlKit .panel .menu-active .button-menu-close,#controlKit .picker .menu .button-menu-close{background:url() 50% 50% no-repeat,#1a1d1f}#controlKit .panel .menu .button-menu-close:hover,#controlKit .panel .menu-active .button-menu-close:hover,#controlKit .picker .menu .button-menu-close:hover{background:url() 50% 50% no-repeat,#000;box-shadow:#fff 0,#000 100%}#controlKit .panel .menu .button-menu-undo,#controlKit .panel .menu-active .button-menu-undo{background:url() 20% 50% no-repeat,#1a1d1f;padding:0 6px 1px 0;width:38px;vertical-align:top;text-align:end}#controlKit .panel .menu .button-menu-undo:hover,#controlKit .panel .menu-active .button-menu-undo:hover{background:url() 20% 50% no-repeat,#000;box-shadow:#fff 0,#000 100%}#controlKit .panel .menu .button-menu-load,#controlKit .panel .menu-active .button-menu-load{margin-right:2px}#controlKit .panel .menu .button-menu-load,#controlKit .panel .menu .button-menu-save,#controlKit .panel .menu-active .button-menu-load,#controlKit .panel .menu-active .button-menu-save{background:#1a1d1f;font-size:9px!important}#controlKit .panel .menu .button-menu-load:hover,#controlKit .panel .menu .button-menu-save:hover,#controlKit .panel .menu-active .button-menu-load:hover,#controlKit .panel .menu-active .button-menu-save:hover{background:#000}#controlKit .panel .menu .wrap{display:none}#controlKit .panel .menu-active{width:100%;float:left}#controlKit .panel .menu-active .wrap{display:inline}#controlKit .panel .menu-active .button-menu-close,#controlKit .panel .menu-active .button-menu-hide,#controlKit .panel .menu-active .button-menu-show{float:right}#controlKit .panel .arrow-s-max{background:url() center no-repeat}#controlKit .panel .arrow-s-min{background:url() center no-repeat}#controlKit .panel .arrow-s-max,#controlKit .panel .arrow-s-min{width:100%;height:20px}#controlKit .panel .arrow-b-max{background:url() center no-repeat}#controlKit .panel .arrow-b-min{background:url() center no-repeat}#controlKit .panel .arrow-b-sub-max{background:url() center no-repeat}#controlKit .panel .arrow-b-sub-min{background:url() center no-repeat}#controlKit .panel .arrow-b-max,#controlKit .panel .arrow-b-min,#controlKit .panel .arrow-b-sub-max,#controlKit .panel .arrow-b-sub-min{width:10px;height:100%;float:right}#controlKit .picker{pointer-events:auto;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border-radius:3px;-moz-border-radius:3px;background-color:#3b3b3b;font-family:Arial,sans-serif;font-size:11px;color:#fff;text-shadow:1px 1px #000;overflow:hidden;position:absolute;z-index:2147483631;width:360px;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;box-shadow:0 2px 2px rgba(0,0,0,.25)}#controlKit .picker canvas{vertical-align:bottom;cursor:pointer}#controlKit .picker .wrap{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:10px;float:left}#controlKit .picker .field-wrap{padding:3px}#controlKit .picker .slider-wrap{padding:3px 13px 3px 3px}#controlKit .picker .field-wrap,#controlKit .picker .input-wrap,#controlKit .picker .slider-wrap{height:auto;overflow:hidden;float:left}#controlKit .picker .input-wrap{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border:1px solid #242424;border-radius:2px;-moz-border-radius:2px;width:140px;float:right;padding:5px 10px 1px 0}#controlKit .picker .input-field{width:50%;float:right;margin-bottom:4px}#controlKit .picker .input-field .label{padding:8px 0 0;color:#878787;text-align:center;text-transform:uppercase;font-weight:700;text-shadow:1px 1px #1a1a1a;width:40%}#controlKit .picker .input-field .wrap{padding:0;width:60%;height:auto;float:right}#controlKit .picker .controls-wrap{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;width:100%;height:auto;float:right;padding:9px 0 0}#controlKit .picker .controls-wrap input[type=button]{float:right;width:65px;margin:0 0 0 10px}#controlKit .picker .color-contrast{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border:none;box-shadow:0 0 0 1px #1f1f1f inset;border-radius:2px;-moz-border-radius:2px;height:25px;padding:3px;width:80%;margin-bottom:4px;float:right}#controlKit .picker .color-contrast div{width:50%;height:100%;float:left}#controlKit .picker input[type=text]{padding:0;text-align:center;width:60%;float:right}#controlKit .picker .wrap .input-wrap:nth-of-type(3){border-bottom-left-radius:0;border-bottom-right-radius:0}#controlKit .picker .wrap .input-wrap:nth-of-type(4){border-top:none;border-top-left-radius:0;border-top-right-radius:0}#controlKit .picker .wrap .input-wrap:nth-of-type(4) .input-field{width:100%}#controlKit .picker .wrap .input-wrap:nth-of-type(4) .input-field .label{width:20%}#controlKit .picker .wrap .input-wrap:nth-of-type(4) input[type=text]{width:80%}#controlKit .picker .field-wrap,#controlKit .picker .slider-wrap{background:#1e2224;border:none;box-shadow:0 0 0 1px #1f1f1f inset;border-radius:2px;-moz-border-radius:2px;position:relative;margin-right:5px}#controlKit .picker .field-wrap .indicator,#controlKit .picker .slider-wrap .indicator{position:absolute;border:2px solid #fff;box-shadow:0 1px black,0 1px #000 inset;cursor:pointer}#controlKit .picker .field-wrap .indicator{width:8px;height:8px;left:50%;top:50%;border-radius:50%;-moz-border-radius:50%}#controlKit .picker .slider-wrap .indicator{width:14px;height:3px;border-radius:8px;-moz-border-radius:8px;left:1px;top:1px}#controlKit .picker .slider-wrap .indicator:after{content:'';width:0;height:0;border-top:4.5px solid transparent;border-bottom:4.5px solid transparent;border-right:4px solid #fff;float:right;position:absolute;top:-2px;left:19px}#controlKit .picker .slider-wrap .indicator:before{content:'';width:0;height:0;border-top:4.5px solid transparent;border-bottom:4.5px solid transparent;border-right:4px solid #000;float:right;position:absolute;top:-3px;left:19px}",
      };
    },
    47261: (t) => {
      t.exports = function (t, e, n) {
        (this.sender = t), (this.type = e), (this.data = n);
      };
    },
    14652: (t) => {
      function e() {
        this._listeners = [];
      }
      (e.prototype = {
        addEventListener: function (t, e, n) {
          (this._listeners[t] = this._listeners[t] || []),
            this._listeners[t].push({ obj: e, method: n });
        },
        dispatchEvent: function (t) {
          var e = t.type;
          if (this.hasEventListener(e))
            for (
              var n, o, i = this._listeners[e], r = -1, a = i.length;
              ++r < a;

            ) {
              if (!(n = i[r].obj)[(o = i[r].method)])
                throw n + " has no method " + o;
              n[o](t);
            }
        },
        removeEventListener: function (t, e, n) {
          if (this.hasEventListener(t))
            for (var o = this._listeners[t], i = o.length; --i > -1; )
              if (o[i].obj == e && o[i].method == n) {
                o.splice(i, 1), 0 == o.length && delete this._listeners[t];
                break;
              }
        },
        removeAllEventListeners: function () {
          this._listeners = [];
        },
        hasEventListener: function (t) {
          return null != this._listeners[t] && null != this._listeners[t];
        },
      }),
        (t.exports = e);
    },
    55696: (t) => {
      t.exports = {
        LEFT: "left",
        RIGHT: "right",
        TOP: "top",
        BOTTOM: "bottom",
        NONE: "none",
      };
    },
    59574: (t, e, n) => {
      var o = n(70858),
        i = n(35226),
        r = n(13424),
        a = n(69819),
        s = (n(81231), n(36177));
      function l(t, e, n) {
        (this._parentNode = t), (this._targetNode = e), (this._wrapHeight = n);
        var s = (this._wrapNode = new o().setStyleClass(r.ScrollWrap)),
          l = (this._node = new o().setStyleClass(r.ScrollBar)),
          h = (this._trackNode = new o().setStyleClass(r.ScrollBarTrack)),
          p = (this._thumbNode = new o().setStyleClass(r.ScrollBarThumb));
        t.removeChild(e),
          t.addChild(s),
          t.addChildAt(l, 0),
          s.addChild(e),
          l.addChild(h),
          h.addChild(p),
          (this._mouseThumbOffset = 0),
          (this._scrollHeight = 0),
          (this._scrollUnit = 0),
          (this._scrollMin = 0),
          (this._scrollMax = 0),
          p.setPositionY(i.SCROLLBAR_TRACK_PADDING),
          p.addEventListener(a.MOUSE_DOWN, this._onThumbDragStart.bind(this)),
          (this._isValid = !1),
          (this._enabled = !1);
        var d = l.getElement(),
          u = p.getElement(),
          A = this;
        (this._onMouseWheel = function (t) {
          var e = t.sender,
            n = e.getHoverElement();
          if (n == d || n == u) {
            var o = 0.0125 * A._scrollHeight;
            A._scroll(p.getPositionY() + e.getWheelDirection() * o * -1),
              t.data.preventDefault();
          }
        }),
          this.addMouseListener();
      }
      (l.prototype.update = function () {
        var t = this._targetNode,
          e = this._thumbNode,
          n = i.SCROLLBAR_TRACK_PADDING,
          o = this._wrapHeight,
          r = t.getHeight(),
          a = o - 2 * n;
        e.setHeight(a);
        var s = o / r;
        if (((this._isValid = !1), !(s > 1))) {
          var l = a * s;
          (this._scrollHeight = a),
            (this._scrollUnit = r - this._scrollHeight - 2 * n),
            (this._scrollMin = n),
            (this._scrollMax = n + a - l),
            e.setHeight(l),
            (this._isValid = !0);
        }
      }),
        (l.prototype._scroll = function (t) {
          var e = this._scrollMin,
            n = this._scrollMax,
            o = Math.max(e, Math.min(t, n)),
            i = (o - e) / (n - e);
          this._thumbNode.setPositionY(o),
            this._targetNode.setPositionY(i * this._scrollUnit * -1);
        }),
        (l.prototype._onThumbDragStart = function () {
          if (this._isValid && !this._enabled) {
            var t = a.MOUSE_MOVE,
              e = a.MOUSE_UP,
              n = s.get(),
              o = this._trackNode.getPositionGlobalY();
            this._mouseThumbOffset =
              n.getY() - this._thumbNode.getPositionGlobalY();
            var i = this,
              r = function () {
                i._scroll(n.getY() - o - i._mouseThumbOffset);
              },
              l = function () {
                document.removeEventListener(t, r, !1),
                  document.removeEventListener(e, l, !1);
              };
            document.addEventListener(t, r, !1),
              document.addEventListener(e, l, !1),
              this._scroll(n.getY() - o - i._mouseThumbOffset);
          }
        }),
        (l.prototype.enable = function () {
          (this._enabled = !1), this._updateAppearance();
        }),
        (l.prototype.disable = function () {
          (this._enabled = !0), this._updateAppearance();
        }),
        (l.prototype.reset = function () {
          this._scroll(0);
        }),
        (l.prototype._updateAppearance = function () {
          this._enabled
            ? (this._node.setStyleProperty("display", "none"),
              this._targetNode.setPositionY(0),
              this._thumbNode.setPositionY(i.SCROLLBAR_TRACK_PADDING))
            : this._node.setStyleProperty("display", "block");
        }),
        (l.prototype.isValid = function () {
          return this._isValid;
        }),
        (l.prototype.setWrapHeight = function (t) {
          (this._wrapHeight = t), this.update();
        }),
        (l.prototype.removeTargetNode = function () {
          return this._wrapNode.removeChild(this._targetNode);
        }),
        (l.prototype.removeMouseListener = function () {
          s.get().removeEventListener(a.MOUSE_WHEEL, this, "_onMouseWheel");
        }),
        (l.prototype.addMouseListener = function () {
          s.get().addEventListener(a.MOUSE_WHEEL, this, "_onMouseWheel");
        }),
        (l.prototype.removeFromParent = function () {
          var t = this._parentNode,
            e = this._node,
            n = this._targetNode;
          return (
            e.removeChild(n), t.removeChild(this._wrapNode), t.removeChild(e), n
          );
        }),
        (l.prototype.getWrapNode = function () {
          return this._wrapNode;
        }),
        (l.prototype.getNode = function () {
          return this._node;
        }),
        (l.prototype.getTargetNode = function () {
          return this._targetNode;
        }),
        (t.exports = l);
    },
    49506: (t, e, n) => {
      var o = n(14652),
        i = n(70858),
        r = n(59574);
      function a(t, e) {
        o.apply(this, arguments),
          ((e = e || {}).height = e.height || null),
          (e.enable = void 0 === e.enable || e.enable),
          (this._parent = t),
          (this._height = e.height),
          (this._enabled = e.enable),
          (this._scrollBar = null),
          (this._node = new i(i.LIST_ITEM)),
          (this._wrapNode = new i()),
          (this._listNode = new i(i.LIST)),
          this._parent.getList().addChild(this._node);
      }
      (a.prototype = Object.create(o.prototype)),
        (a.prototype.constructor = a),
        (a.prototype.addScrollWrap = function () {
          var t = this._wrapNode,
            e = this.getMaxHeight();
          (this._scrollBar = new r(t, this._listNode, e)),
            this.isEnabled() && t.setHeight(e);
        }),
        (a.prototype.preventSelectDrag = function () {
          this._parent.preventSelectDrag(),
            this.hasScrollWrap() && (this._wrapNode.getElement().scrollTop = 0);
        }),
        (a.prototype.hasMaxHeight = function () {
          return null != this._height;
        }),
        (a.prototype.getMaxHeight = function () {
          return this._height;
        }),
        (a.prototype.hasScrollWrap = function () {
          return null != this._scrollBar;
        }),
        (a.prototype.hasLabel = function () {
          return null != this._lablNode;
        }),
        (a.prototype.disable = function () {
          (this._enabled = !1), this._updateAppearance();
        }),
        (a.prototype.enable = function () {
          (this._enabled = !0), this._updateAppearance();
        }),
        (a.prototype.isDisabled = function () {
          return !this._enabled;
        }),
        (a.prototype.isEnabled = function () {
          return this._enabled;
        }),
        (a.prototype.getList = function () {
          return this._listNode;
        }),
        (t.exports = a);
    },
    38223: (t, e, n) => {
      var o = n(49506),
        i = n(13424),
        r = n(70858),
        a = n(99781),
        s = n(47261),
        l = n(69819),
        h = n(81231),
        p = n(32076),
        d = n(47282),
        u = n(32884),
        A = n(59827),
        c = n(12396);
      function g(t, e) {
        ((e = e || {}).label = e.label || null),
          (e.useLabels = e.useLabels || !0),
          (e.enable = void 0 === e.enable || e.enable),
          o.apply(this, arguments),
          (this._components = []),
          (this._subGroups = []);
        var n = this._node,
          a = this._wrapNode,
          s = this._listNode;
        n.setStyleClass(i.Group),
          a.setStyleClass(i.Wrap),
          s.setStyleClass(i.SubGroupList),
          a.addChild(s);
        var u = e.label;
        if (u) {
          var A = new r(),
            c = new r(),
            g = new r(r.SPAN),
            b = (this._indiNode = new r());
          A.setStyleClass(i.Head),
            c.setStyleClass(i.Wrap),
            g.setStyleClass(i.Label),
            b.setStyleClass(i.ArrowBMax),
            g.setProperty("innerHTML", u),
            A.addChild(b),
            c.addChild(g),
            A.addChild(c),
            n.addChild(A),
            A.addEventListener(h.MOUSE_DOWN, this._onHeadTrigger.bind(this)),
            this.addEventListener(
              d.GROUP_LIST_SIZE_CHANGE,
              t,
              "onGroupListSizeChange"
            ),
            this._updateAppearance();
        }
        if (
          (this.hasMaxHeight() && this.addScrollWrap(),
          n.addChild(a),
          this.hasMaxHeight())
        ) {
          if (!u) {
            var v = (this._scrollBufferTop = new r());
            v.setStyleClass(i.ScrollBuffer), n.addChildAt(v, 0);
          }
          var f = (this._scrollBufferBottom = new r());
          f.setStyleClass(i.ScrollBuffer), n.addChild(f);
        }
        (t = this._parent).addEventListener(
          p.PANEL_MOVE_BEGIN,
          this,
          "onPanelMoveBegin"
        ),
          t.addEventListener(p.PANEL_MOVE, this, "onPanelMove"),
          t.addEventListener(p.PANEL_MOVE_END, this, "onPanelMoveEnd"),
          t.addEventListener(p.PANEL_HIDE, this, "onPanelHide"),
          t.addEventListener(p.PANEL_SHOW, this, "onPanelShow"),
          t.addEventListener(
            p.PANEL_SCROLL_WRAP_ADDED,
            this,
            "onPanelScrollWrapAdded"
          ),
          t.addEventListener(
            p.PANEL_SCROLL_WRAP_REMOVED,
            this,
            "onPanelScrollWrapRemoved"
          ),
          t.addEventListener(p.PANEL_SIZE_CHANGE, this, "onPanelSizeChange"),
          t.addEventListener(l.WINDOW_RESIZE, this, "onWindowResize"),
          this.addEventListener(
            d.GROUP_SIZE_CHANGE,
            t,
            "onGroupListSizeChange"
          );
      }
      function b(t) {
        return t instanceof u && !(t instanceof A) && !(t instanceof c);
      }
      (g.prototype = Object.create(o.prototype)),
        (g.prototype.constructor = g),
        (g.prototype.onPanelMoveBegin = function () {
          this.dispatchEvent(new s(this, p.PANEL_MOVE_BEGIN, null));
        }),
        (g.prototype.onPanelMove = function () {
          this.dispatchEvent(new s(this, p.PANEL_MOVE, null));
        }),
        (g.prototype.onPanelMoveEnd = function () {
          this.dispatchEvent(new s(this, p.PANEL_MOVE_END, null));
        }),
        (g.prototype.onPanelScrollWrapAdded = function () {
          this.dispatchEvent(new s(this, d.GROUP_SIZE_CHANGE, null));
        }),
        (g.prototype.onPanelScrollWrapRemoved = function () {
          this.dispatchEvent(new s(this, d.GROUP_SIZE_CHANGE, null));
        }),
        (g.prototype.onPanelHide = function () {
          this.dispatchEvent(new s(this, d.SUBGROUP_DISABLE, null));
        }),
        (g.prototype.onPanelShow = function () {
          this.dispatchEvent(new s(this, d.SUBGROUP_ENABLE, null));
        }),
        (g.prototype.onPanelSizeChange = function () {
          this.dispatchEvent(new s(this, d.GROUP_SIZE_CHANGE, null));
        }),
        (g.prototype.onWindowResize = function (t) {
          this.dispatchEvent(t);
        }),
        (g.prototype.onSubGroupTrigger = function () {
          if ((this._updateHeight(), this.hasMaxHeight())) {
            var t = this._scrollBar,
              e = this._wrapNode,
              n = this._scrollBufferTop,
              o = this._scrollBufferBottom;
            t.update(),
              t.isValid()
                ? (t.enable(),
                  e.setHeight(this.getMaxHeight()),
                  n && n.setStyleProperty("display", "block"),
                  o && o.setStyleProperty("display", "block"))
                : (t.disable(),
                  e.setHeight(e.getChildAt(1).getHeight()),
                  n && n.setStyleProperty("display", "none"),
                  o && o.setStyleProperty("display", "none")),
              this.dispatchEvent(new s(this, d.GROUP_SIZE_CHANGE, null));
          }
        }),
        (g.prototype._onHeadTrigger = function () {
          (this._enabled = !this._enabled),
            this._updateAppearance(),
            this.dispatchEvent(new s(this, d.GROUP_LIST_SIZE_CHANGE, null));
        }),
        (g.prototype.addComponent = function () {
          var t = arguments[0],
            e = Array.prototype.slice.call(arguments);
          e.shift(), e.unshift(this._getSubGroup());
          var n = Object.create(t.prototype);
          t.apply(n, e), this._components.push(n), this._updateHeight();
        }),
        (g.prototype._updateHeight = function () {
          this._getSubGroup().update(),
            this.dispatchEvent(new s(this, d.GROUP_SIZE_CHANGE, null)),
            this.hasMaxHeight() && this._scrollBar.update();
        }),
        (g.prototype._updateAppearance = function () {
          var t = this._wrapNode,
            e = this._indiNode,
            n = this._scrollBar,
            o = this._scrollBufferTop,
            r = this._scrollBufferBottom;
          if (this.isDisabled())
            return (
              t.setHeight(0),
              e && e.setStyleClass(i.ArrowBMin),
              void (
                n &&
                (o && o.setStyleProperty("display", "none"),
                r && r.setStyleProperty("display", "none"))
              )
            );
          if (this.hasMaxHeight()) {
            var a = this.getMaxHeight(),
              s = t.getChildAt(1).getHeight();
            t.setHeight(s < a ? s : a),
              n.isValid() &&
                (o && o.setStyleProperty("display", "block"),
                r && r.setStyleProperty("display", "block"));
          } else t.deleteStyleProperty("height");
          e && e.setStyleClass(i.ArrowBMax);
        }),
        (g.prototype.onGroupSizeUpdate = function () {
          this._updateAppearance(),
            this.hasMaxHeight() && this._scrollBar.update();
        }),
        (g.prototype.addSubGroup = function (t) {
          return (
            this._subGroups.push(new a(this, t)), this._updateHeight(), this
          );
        }),
        (g.prototype._getSubGroup = function () {
          var t = this._subGroups;
          return 0 == t.length && t.push(new a(this)), t[t.length - 1];
        }),
        (g.prototype.getComponents = function () {
          return this._components;
        }),
        (g.prototype.setData = function (t) {
          for (
            var e, n, o = this._components, i = -1, r = 0, a = o.length;
            ++i < a;

          )
            b((e = o[i])) && ((n = t[r++]), e.setValue(n[Object.keys(n)[0]]));
        }),
        (g.prototype.getData = function () {
          for (
            var t, e = this._components, n = -1, o = e.length, i = [];
            ++n < o;

          )
            b((t = e[n])) && i.push(t.getData());
          return i;
        }),
        (t.exports = g);
    },
    47282: (t) => {
      t.exports = {
        GROUP_SIZE_CHANGE: "groupSizeChange",
        GROUP_LIST_SIZE_CHANGE: "groupListSizeChange",
        GROUP_SIZE_UPDATE: "groupSizeUpdate",
        SUBGROUP_TRIGGER: "subGroupTrigger",
        SUBGROUP_ENABLE: "enableSubGroup",
        SUBGROUP_DISABLE: "disableSubGroup",
      };
    },
    8081: (t) => {
      t.exports = { UPDATE_MENU: "updateMenu" };
    },
    98470: (t, e, n) => {
      var o = n(70858),
        i = n(38223),
        r = n(59574),
        a = n(13424),
        s = n(55696),
        l = n(18468),
        h = n(14652),
        p = n(47261),
        d = n(69819),
        u = n(81231),
        A = n(32076),
        c = n(8081),
        g = n(36177),
        b = n(42670),
        v = n(7969),
        f = n(89239),
        y = n(65761),
        _ = n(61134),
        E = n(97493),
        C = n(55453),
        w = n(98360),
        x = n(12396),
        m = n(75239),
        S = n(59827),
        T = n(91724),
        N = n(57174),
        P = n(64376),
        L = n(50060),
        V = "Control Panel",
        B = s.TOP,
        I = s.RIGHT,
        G = { align: s.RIGHT, resizable: !0 };
      function O(t, e) {
        h.apply(this, arguments),
          (this._parent = t),
          ((e = e || {}).valign = e.valign || B),
          (e.align = e.align || I),
          (e.position = e.position || null),
          (e.width = e.width || 200),
          (e.height = e.height || null),
          (e.ratio = e.ratio || 40),
          (e.label = e.label || V),
          (e.opacity = e.opacity || 1),
          (e.fixed = void 0 === e.fixed || e.fixed),
          (e.enable = void 0 === e.enable || e.enable),
          (e.vconstrain = void 0 === e.vconstrain || e.vconstrain),
          e.dock &&
            ((e.dock.align = e.dock.align || G.align),
            (e.dock.resizable = e.dock.resizable || G.resizable)),
          (this._width = Math.max(100, Math.min(e.width, 600))),
          (this._height = e.height
            ? Math.max(0, Math.min(e.height, window.innerHeight))
            : null),
          (this._ratio = e.ratio),
          (this._fixed = e.fixed),
          (this._dock = e.dock),
          (this._position = e.position),
          (this._vConstrain = e.vconstrain),
          (this._label = e.label),
          (this._enabled = e.enable),
          (this._groups = []);
        var n = this._width,
          i = this._fixed,
          r = this._dock,
          p = this._position,
          A = this._label,
          g = e.align,
          b = e.opacity,
          v = (this._node = new o().setStyleClass(a.Panel)),
          f = (this._headNode = new o().setStyleClass(a.Head)),
          y = new o().setStyleClass(a.Menu),
          _ = new o().setStyleClass(a.Wrap),
          E = new o(o.SPAN).setStyleClass(a.Label),
          C = (this._wrapNode = new o(o.DIV).setStyleClass(a.Wrap)),
          w = (this._listNode = new o(o.LIST).setStyleClass(a.GroupList));
        if (
          (v.setWidth(n),
          E.setProperty("innerHTML", A),
          _.addChild(E),
          f.addChild(y),
          f.addChild(_),
          C.addChild(w),
          v.addChild(f),
          v.addChild(C),
          t.getNode().addChild(v),
          r)
        ) {
          var x = r.align;
          (x != s.LEFT && x != s.RIGHT) ||
            ((g = x), (this._height = window.innerHeight)),
            x == s.TOP || s.BOTTOM,
            v.setStyleProperty("float", g);
        } else {
          var m = (this._menuHide = new o(o.INPUT_BUTTON));
          if (
            (m.setStyleClass(a.ButtonMenuHide),
            m.addEventListener(
              u.MOUSE_DOWN,
              this._onMenuHideMouseDown.bind(this)
            ),
            y.addChild(m),
            this._parent.panelsAreClosable())
          ) {
            var S = new o(o.INPUT_BUTTON);
            S.setStyleClass(a.ButtonMenuClose),
              S.addEventListener(u.MOUSE_DOWN, this.disable.bind(this)),
              y.addChild(S);
          }
          if ((this.hasMaxHeight() && this._addScrollWrap(), i)) {
            if (p) {
              var T = p[0],
                N = p[1];
              0 != N && v.setPositionY(N),
                0 != T &&
                  (g == s.RIGHT
                    ? (v.getElement().marginRight = T)
                    : v.setPositionX(T));
            }
            v.setStyleProperty("float", g);
          } else
            p
              ? g == s.LEFT || g == s.TOP || g == s.BOTTOM
                ? v.setPositionGlobal(p[0], p[1])
                : (v.setPositionGlobal(window.innerWidth - n - p[0], p[1]),
                  (this._position = v.getPosition()))
              : (this._position = v.getPosition()),
              (this._mouseOffset = [0, 0]),
              v.setStyleProperty("position", "absolute"),
              f.addEventListener(
                u.MOUSE_DOWN,
                this._onHeadDragStart.bind(this)
              );
        }
        var P = this._parent,
          L = P.historyIsEnabled(),
          O = P.statesAreEnabled();
        (L || O) && y.addChildAt(new o(), 0).setStyleClass(a.Wrap),
          L &&
            ((this._menuUndo = y
              .getChildAt(0)
              .addChild(new o(o.INPUT_BUTTON))
              .setStyleClass(a.ButtonMenuUndo)
              .setProperty("value", l.get().getNumStates())
              .addEventListener(u.MOUSE_DOWN, function () {
                l.get().popState();
              })),
            P.addEventListener(c.UPDATE_MENU, this, "onUpdateMenu")),
          O &&
            (y
              .getChildAt(0)
              .addChild(new o(o.INPUT_BUTTON))
              .setStyleClass(a.ButtonMenuLoad)
              .setProperty("value", "Load")
              .addEventListener(u.MOUSE_DOWN, function () {
                t._loadState();
              }),
            y
              .getChildAt(0)
              .addChild(new o(o.INPUT_BUTTON))
              .setStyleClass(a.ButtonMenuSave)
              .setProperty("value", "Save")
              .addEventListener(u.MOUSE_DOWN, function () {
                t._saveState();
              })),
          (L || O) &&
            (f.addEventListener(u.MOUSE_OVER, function () {
              y.setStyleClass(a.MenuActive);
            }),
            f.addEventListener(u.MOUSE_OUT, function () {
              y.setStyleClass(a.Menu);
            })),
          1 != b && 0 != b && v.setStyleProperty("opacity", b),
          window.addEventListener(
            d.WINDOW_RESIZE,
            this._onWindowResize.bind(this)
          ),
          this._updateAppearance();
      }
      (O.prototype = Object.create(h.prototype)),
        (O.prototype.constructor = O),
        (O.prototype._onMenuHideMouseDown = function () {
          (this._enabled = !this._enabled), this._updateAppearance();
        }),
        (O.prototype.onUpdateMenu = function () {
          this._menuUndo.setProperty("value", l.get().getNumStates());
        }),
        (O.prototype._onMenuUndoTrigger = function () {
          l.get().popState();
        }),
        (O.prototype._updateAppearance = function () {
          var t = this._node,
            e = this._headNode,
            n = this._menuHide;
          this._enabled
            ? (t.setHeight(e.getHeight() + this._wrapNode.getHeight()),
              t.deleteStyleProperty("height"),
              n.setStyleClass(a.ButtonMenuHide),
              e.setStyleClass(a.Head),
              this.dispatchEvent(new p(this, A.PANEL_SHOW, null)))
            : ((e.getStyle().borderBottom = "none"),
              t.setHeight(e.getHeight()),
              n.setStyleClass(a.ButtonMenuShow),
              this.dispatchEvent(new p(this, A.PANEL_HIDE, null)));
        }),
        (O.prototype._onHeadDragStart = function () {
          var t = this._parent.getNode(),
            e = this._node,
            n = e.getPositionGlobal(),
            o = g.get().getPosition(),
            i = this._mouseOffset;
          (i[0] = o[0] - n[0]), (i[1] = o[1] - n[1]);
          var r = d.MOUSE_MOVE,
            a = d.MOUSE_UP,
            s = this,
            l = function () {
              s._updatePosition();
            },
            h = function () {
              document.removeEventListener(r, l, !1),
                document.removeEventListener(a, h, !1),
                s.dispatchEvent(new p(this, A.PANEL_MOVE_END, null));
            };
          t.removeChild(e),
            t.addChild(e),
            document.addEventListener(r, l, !1),
            document.addEventListener(a, h, !1),
            this.dispatchEvent(new p(this, A.PANEL_MOVE_BEGIN, null));
        }),
        (O.prototype._updatePosition = function () {
          var t = g.get().getPosition(),
            e = this._mouseOffset,
            n = this._position;
          (n[0] = t[0] - e[0]),
            (n[1] = t[1] - e[1]),
            this._constrainHeight(),
            this._constrainPosition(),
            this.dispatchEvent(new p(this, A.PANEL_MOVE, null));
        }),
        (O.prototype._onWindowResize = function () {
          if (this.isDocked()) {
            var t = this._dock;
            if (t.align == s.RIGHT || t.align == s.LEFT) {
              var e = window.innerHeight,
                n = this._listNode.getHeight(),
                o = this._headNode.getHeight();
              (this._height = e),
                e - o > n
                  ? this._scrollBar.disable()
                  : this._scrollBar.enable(),
                this.dispatchEvent(new p(this, A.PANEL_SIZE_CHANGE));
            }
          } else this.isFixed() || this._constrainPosition();
          this._constrainHeight(),
            this.dispatchEvent(new p(this, d.WINDOW_RESIZE));
        }),
        (O.prototype._constrainPosition = function () {
          var t = this._node,
            e = window.innerWidth - t.getWidth(),
            n = window.innerHeight - t.getHeight(),
            o = this._position;
          (o[0] = Math.max(0, Math.min(o[0], e))),
            (o[1] = Math.max(0, Math.min(o[1], n))),
            t.setPositionGlobal(o[0], o[1]);
        }),
        (O.prototype._constrainHeight = function () {
          if (this._vConstrain) {
            var t,
              e = this.hasMaxHeight(),
              n = this.hasScrollWrap(),
              o = this._headNode,
              i = this._wrapNode,
              r = this._scrollBar,
              a = this.isDocked() || this.isFixed() ? 0 : this._position[1],
              s = e
                ? this.getMaxHeight()
                : n
                ? r.getTargetNode().getHeight()
                : i.getHeight(),
              l = a + s,
              h = o.getHeight(),
              d = window.innerHeight - l - h;
            if (d < 0) {
              if (((t = s + d), !n))
                return (
                  this._addScrollWrap(t),
                  void this.dispatchEvent(
                    new p(this, A.PANEL_SCROLL_WRAP_ADDED, null)
                  )
                );
              r.setWrapHeight(t), i.setHeight(t);
            } else
              !e &&
                n &&
                (r.removeFromParent(),
                i.addChild(this._listNode),
                i.deleteStyleProperty("height"),
                this._scrollBar.removeMouseListener(),
                (this._scrollBar = null),
                this.dispatchEvent(
                  new p(this, A.PANEL_SCROLL_WRAP_REMOVED, null)
                ));
          }
        }),
        (O.prototype.onGroupListSizeChange = function () {
          this.hasScrollWrap() && this._updateScrollWrap(),
            this._constrainHeight();
        }),
        (O.prototype._updateScrollWrap = function () {
          var t = this._wrapNode,
            e = this._scrollBar,
            n = this.hasMaxHeight() ? this.getMaxHeight() : 100,
            o = this._listNode.getHeight();
          t.setHeight(o < n ? o : n),
            e.update(),
            e.isValid()
              ? (e.enable(), t.setHeight(n))
              : (e.disable(), t.setHeight(t.getChildAt(1).getHeight()));
        }),
        (O.prototype._addScrollWrap = function () {
          var t = this._wrapNode,
            e = this._listNode,
            n = 0 == arguments.length ? this.getMaxHeight() : arguments[0];
          (this._scrollBar = new r(t, e, n)),
            this.isEnabled() && t.setHeight(n);
        }),
        (O.prototype.hasScrollWrap = function () {
          return null != this._scrollBar;
        }),
        (O.prototype.preventSelectDrag = function () {
          this.hasScrollWrap() && (this._wrapNode.getElement().scrollTop = 0);
        }),
        (O.prototype.enable = function () {
          this._node.setStyleProperty("display", "block"),
            (this._enabled = !0),
            this._updateAppearance();
        }),
        (O.prototype.disable = function () {
          this._node.setStyleProperty("display", "none"),
            (this._enabled = !1),
            this._updateAppearance();
        }),
        (O.prototype.isEnabled = function () {
          return this._enabled;
        }),
        (O.prototype.isDisabled = function () {
          return !this._enabled;
        }),
        (O.prototype.hasMaxHeight = function () {
          return null != this._height;
        }),
        (O.prototype.getMaxHeight = function () {
          return this._height;
        }),
        (O.prototype.isDocked = function () {
          return this._dock;
        }),
        (O.prototype.isFixed = function () {
          return this._fixed;
        }),
        (O.prototype.getGroups = function () {
          return this._groups;
        }),
        (O.prototype.getNode = function () {
          return this._node;
        }),
        (O.prototype.getList = function () {
          return this._listNode;
        }),
        (O.prototype.getWidth = function () {
          return this._width;
        }),
        (O.prototype.getPosition = function () {
          return this._position;
        }),
        (O.prototype.getParent = function () {
          return this._parent;
        }),
        (O.prototype.addGroup = function (t) {
          var e = new i(this, t);
          return (
            this._groups.push(e),
            this.isDocked() &&
              this.dispatchEvent(new p(this, A.PANEL_SIZE_CHANGE)),
            this
          );
        }),
        (O.prototype.addSubGroup = function (t) {
          var e = this._groups;
          return (
            0 == e.length && this.addGroup(),
            e[e.length - 1].addSubGroup(t),
            this
          );
        }),
        (O.prototype._addComponent = function () {
          var t,
            e = this._groups;
          return (
            0 == e.length && e.push(new i(this)),
            (t = e[e.length - 1]).addComponent.apply(t, arguments),
            this
          );
        }),
        (O.prototype.addStringInput = function (t, e, n) {
          return this._addComponent(b, t, e, n);
        }),
        (O.prototype.addNumberInput = function (t, e, n) {
          return this._addComponent(v, t, e, n);
        }),
        (O.prototype.addRange = function (t, e, n) {
          return this._addComponent(f, t, e, n);
        }),
        (O.prototype.addCheckbox = function (t, e, n) {
          return this._addComponent(y, t, e, n);
        }),
        (O.prototype.addColor = function (t, e, n) {
          return this._addComponent(_, t, e, n);
        }),
        (O.prototype.addButton = function (t, e, n) {
          return this._addComponent(E, t, e, n);
        }),
        (O.prototype.addSelect = function (t, e, n) {
          return this._addComponent(C, t, e, n);
        }),
        (O.prototype.addSlider = function (t, e, n, o) {
          return this._addComponent(w, t, e, n, o);
        }),
        (O.prototype.addFunctionPlotter = function (t, e, n) {
          return this._addComponent(x, t, e, n);
        }),
        (O.prototype.addPad = function (t, e, n) {
          return this._addComponent(m, t, e, n);
        }),
        (O.prototype.addValuePlotter = function (t, e, n) {
          return this._addComponent(S, t, e, n);
        }),
        (O.prototype.addNumberOutput = function (t, e, n) {
          return this._addComponent(T, t, e, n);
        }),
        (O.prototype.addStringOutput = function (t, e, n) {
          return this._addComponent(N, t, e, n);
        }),
        (O.prototype.addCanvas = function (t) {
          return this._addComponent(P, t);
        }),
        (O.prototype.addSVG = function (t) {
          return this._addComponent(L, t);
        }),
        (O.prototype.setData = function (t) {
          for (var e = this._groups, n = -1, o = e.length; ++n < o; )
            e[n].setData(t[n]);
        }),
        (O.prototype.getData = function () {
          for (var t = this._groups, e = -1, n = t.length, o = []; ++e < n; )
            o.push(t[e].getData());
          return o;
        }),
        (t.exports = O);
    },
    32076: (t) => {
      t.exports = {
        PANEL_MOVE_BEGIN: "panelMoveBegin",
        PANEL_MOVE: "panelMove",
        PANEL_MOVE_END: "panelMoveEnd",
        PANEL_SHOW: "panelShow",
        PANEL_HIDE: "panelHide",
        PANEL_SCROLL_WRAP_ADDED: "panelScrollWrapAdded",
        PANEL_SCROLL_WRAP_REMOVED: "panelScrollWrapRemoved",
        PANEL_SIZE_CHANGE: "panelSizeChange",
      };
    },
    99781: (t, e, n) => {
      var o = n(49506),
        i = n(70858),
        r = n(13424),
        a = n(47261),
        s = n(69819),
        l = n(32076),
        h = n(47282),
        p = n(33925);
      function d(t, e) {
        ((e = e || {}).label = e.label || null),
          (e.useLabels = void 0 === e.useLabels || e.useLabels),
          o.apply(this, arguments);
        var n = this._node,
          a = this._wrapNode,
          p = this._listNode;
        n.setStyleClass(r.SubGroup),
          a.setStyleClass(r.Wrap),
          a.addChild(p),
          n.addChild(a),
          (this._useLabels = e.useLabels);
        var d = e.label;
        if (d && 0 != d.length && "none" != d) {
          var u = (this._headNode = new i()),
            A = new i(),
            c = new i(i.SPAN);
          u.setStyleClass(r.Head),
            A.setStyleClass(r.Wrap),
            c.setStyleClass(r.Label),
            c.setProperty("innerHTML", d),
            A.addChild(c),
            u.addChild(A);
          var g = (this._indiNode = new i());
          g.setStyleClass(r.ArrowBSubMax),
            u.addChildAt(g, 0),
            n.addChildAt(u, 0),
            this.addEventListener(
              h.SUBGROUP_TRIGGER,
              this._parent,
              "onSubGroupTrigger"
            ),
            u.addEventListener(s.MOUSE_DOWN, this._onHeadMouseDown.bind(this)),
            this._updateAppearance();
        }
        this.hasMaxHeight() && this.addScrollWrap(),
          this._parent.addEventListener(h.SUBGROUP_ENABLE, this, "onEnable"),
          this._parent.addEventListener(h.SUBGROUP_DISABLE, this, "onDisable"),
          this._parent.addEventListener(
            l.PANEL_MOVE_END,
            this,
            "onPanelMoveEnd"
          ),
          this._parent.addEventListener(
            h.GROUP_SIZE_CHANGE,
            this,
            "onGroupSizeChange"
          ),
          this._parent.addEventListener(
            l.PANEL_SIZE_CHANGE,
            this,
            "onPanelSizeChange"
          ),
          this._parent.addEventListener(
            s.WINDOW_RESIZE,
            this,
            "onWindowResize"
          ),
          this.addEventListener(
            h.GROUP_SIZE_UPDATE,
            this._parent,
            "onGroupSizeUpdate"
          );
      }
      (d.prototype = Object.create(o.prototype)),
        (d.prototype.constructor = d),
        (d.prototype._onHeadMouseDown = function () {
          (this._enabled = !this._enabled), this._onTrigger();
          var t = s.MOUSE_UP,
            e = this,
            n = function () {
              e._onTrigger(), document.removeEventListener(t, n);
            };
          document.addEventListener(t, n);
        }),
        (d.prototype._onTrigger = function () {
          this._updateAppearance(),
            this.dispatchEvent(new a(this, h.SUBGROUP_TRIGGER, null));
        }),
        (d.prototype._updateAppearance = function () {
          this.isDisabled()
            ? (this._wrapNode.setHeight(0),
              this.hasLabel() &&
                (this._headNode.setStyleClass(r.HeadInactive),
                this._indiNode.setStyleClass(r.ArrowBSubMin)))
            : (this.hasMaxHeight()
                ? this._wrapNode.setHeight(this.getMaxHeight())
                : this._wrapNode.deleteStyleProperty("height"),
              this.hasLabel() &&
                (this._headNode.setStyleClass(r.Head),
                this._indiNode.setStyleClass(r.ArrowBSubMax)));
        }),
        (d.prototype.update = function () {
          this.hasMaxHeight() && this._scrollBar.update();
        }),
        (d.prototype.onComponentSelectDrag = function () {
          this.preventSelectDrag();
        }),
        (d.prototype.onEnable = function () {
          this.isDisabled() || this.dispatchEvent(new a(this, p.ENABLE, null));
        }),
        (d.prototype.onDisable = function () {
          this.isDisabled() || this.dispatchEvent(new a(this, p.DISABLE, null));
        }),
        (d.prototype.onGroupSizeChange = function () {
          this.dispatchEvent(new a(this, h.GROUP_SIZE_CHANGE, null));
        }),
        (d.prototype.onGroupSizeUpdate = function () {
          this.dispatchEvent(new a(this, h.GROUP_SIZE_UPDATE, null));
        }),
        (d.prototype.onPanelMoveEnd = function () {
          this.dispatchEvent(new a(this, l.PANEL_MOVE_END, null));
        }),
        (d.prototype.onPanelSizeChange = function () {
          this._updateAppearance();
        }),
        (d.prototype.onWindowResize = function (t) {
          this.dispatchEvent(t);
        }),
        (d.prototype.hasLabel = function () {
          return null != this._headNode;
        }),
        (d.prototype.addComponentNode = function (t) {
          this._listNode.addChild(t);
        }),
        (d.prototype.usesLabels = function () {
          return this._useLabels;
        }),
        (t.exports = d);
    },
  },
]);
